Mi az a Python JSON és hogyan lehet megvalósítani?



Ez a cikk a Python JSON-ról segítséget nyújt a JSON elemzésének, sorosításának és deserializálásának elsajátításában példaprogramok segítségével.

Tudja, hogyan továbbíthatja adatait az online API-kból, vagy különféle adatokat tárolhat a helyi gépeire? Így vagy úgy elmerült a JSON-ban, amely kiáll Java Script Object Notation. Ez egy elismert és népszerű adatformátum, amelyet félig strukturált adatok ábrázolására használnak. Ismerjünk meg részletesebben a Python JSON-ról.

A cikk a következő szempontokat tárgyalja:





A JSON bemutatása a Pythonban:

A JSON jelentése J ava S szkript VAGY tárgy N otációaz információ szervezett és könnyű tárolásának egyik módja. Az adatoknak szöveges formában kell lenniük, amikor egy böngésző és egy szerver között cserélnek.

JSON logó - Python JSON-Edureka



Abban az esetben, ha kíváncsi vagy rá ? akkor a válasz az nem. Ez egy szövegből álló szkript, amelyet emberi és géppel olvasható formátumban tárolnak és adnak át. Ez egy kicsi, könnyű, a JavaScript ihlette adatformátum, amelyet általában szöveges vagy karakterlánc formátumban használnak. Egy csomag JSON szinte azonos a python szótárral. Most biztosan kíváncsi vagy

Hogyan olvasható el egy JSON fájl Pythonban?

A kérdésre a válasz az, hogy importálnia kell a JSON modult, amely általában a Python adattípusokat konvertálja a JSON karakterlánc fájlba. JSON-funkciókból áll, amelyek közvetlenül JSON-fájlokból olvasnak és írnak. beépített JSON csomaggal rendelkezik, és része a standard könyvtárnak, ezért nem kell telepítenie.

Példa:

import json

Most, hogy ismeri a JSON-t a Pythonban, vessünk egy mélyebb pillantást az elemzésre.



Elemzés:

A JSON-könyvtár elemezni tudja a JSON-t húrok vagy fájlokat. A JSON-t is elemezheti a vagy sorolja fel és fordítva. Az elemzés általában két szakaszban történik:

  1. Konvertálás JSON-ból Python-ba
  2. Konvertálás Pythonról JSON-ra

Ismerjük meg jobban mindkét szakaszt.

Konvertálás JSON-ból Python-ba:

A JSON karakterláncot Pythonra konvertálhatja a használatávaljson.loads ().Hadd mutassam meg a gyakorlati megvalósítást:

Példa:

import json people_string = '' {'emberek': [{'emp_name': 'John smith', 'emp_no.': '924367-567-23', 'emp_email': ['johnsmith@dummyemail.com'], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]}} »adatok = json.loads (emberek_lánc) nyomtatás (adatok)

Kimenet:

Mint a fenti kimenetből látható, kinyomtatta a . A jobb megértés érdekében nyomtassuk ki az adattípust.

Példa:

import json people_string = '' {'emberek': [{'emp_name': 'John smith', 'emp_no.': '924367-567-23', 'emp_email': ['johnsmith@dummyemail.com'], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_number': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]}} '' data = json.loads (people_string) print (type (data)) # kinyomtatja az adattípust

Kimenet:



Most, hogy ismeri az egyik konverziót, lássuk a másik konverziótípust a második szakaszban.

Konvertálás Python-ból JSON-ba:

A Python objektum a JSON karakterlánccá konvertálható a használatávaljson.dumps ().Vessünk egy pillantást az alábbiakban bemutatott példára:

Példa:

import json people_string = '' {'emberek': [{'emp_name': 'John smith', 'emp_no.': '924367-567-23', 'emp_email': ['johnsmith@dummyemail.com'], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]}} '' data = json.loads (people_string) new_string = json.dumps (data) print (new_string)

Kimenet:

A kimenet JSON karakterlánc típusú lesz. Az adattípust már bemutattam a JSON-Python konverzióban, ugyanezt az eljárást fogjuk követni az adattípus nyomtatásakor.


Menjünk előre, és nézzük meg, hogyan elemzik Pandas a JSON-t.

Pandák JSON elemzése:

A JSON karakterlánc elemezhető a-ra pandák Adatkeret a következő lépésekből:

különbség a html és az xml között
  • A következő általános struktúrával lehet betölteni a JSON karakterláncot a DataFrame-be.
importálja a pandákat pd pd.read_json néven (r'Path, ahová a JSON fájlt mentette: File Name.json ')
  • Készítse elő a JSON karakterláncot.
  • Hozzon létre egy JSON fájlt, amelyet a nobel_prize.json fájlnak használunk.
  • Töltse be a JSON fájlt a pandas DataFrame fájlba.

Az alább megvalósított kód betölti a JSON fájlomat a DataFrame-be.

importálja a pandákat pd-ként importálja a json-t nyitott (r'C: UsersHarshit_KantDesktopnobel.prize.json ') néven f: data = json.load (f) print (data) df = pd.DataFrame print (df)

Kimenet:

Haladva nézzük meg, hogyan sorosíthatja a JSON-ot a Pythonban.

A JSON [kódolása] sorosítása:

A JSON sorosítása egyszerűen azt jelenti, hogy a JSON-t kódolja. Átalakítja az adott Python adatstruktúrát (ex: dict) érvényes JSON objektumává. A fájl adatfolyamának kezeléséhez a Python JSON-könyvtárában a lerak() és guba() módszer, amely elvégzi az átalakítást és megkönnyíti az adatok fájlokba írását.

Az alábbiakban egy táblázat szemlélteti a Piton adattípusok a megfelelő JSON típusra konvertálva.

Piton JSON

dict (szótár)

tárgy

lista, tömb

tuple

húr

húr

int, hosszú, úszó

számok

Igaz

igaz

Hamis

hamis

Egyik sem

nulla

Emlékezetes pontok:

lerak() - Átalakítja az adatokat JSON fájlokká
guba() - Az adatokat JSON karakterláncokká alakítja
Betöltés() - A JSON fájlt átalakítja Python objektummá
terhelések () - A JSON karakterlánc objektumát Python objektummá alakítja

Szép nyomtatás:

A Pretty Printing gondoskodik a kód igazításáról, és ember által olvasható formátumban teszi. Nézzük meg az alábbi példát, ahol két olyan paramétert adtam át: ‘sort_keys’, amelyek mindig logikai True értéket és „behúzás” szóközt adnak vissza.

Példa:

import json people_string = '' {'emberek': [{'emp_name': 'John smith', 'emp_no.': '924367-567-23', 'emp_email': ['johnsmith@dummyemail.com'], 'has_license': 'false'}, {'emp_name': 'harshit kant', 'emp_no.': '560-555-5153', 'emp_email': 'null', 'has_license': 'true'}]}} '' data = json.loads (people_string) új_string = json.dumps (adatok, sort_keys = True, behúzás = 3) print (new_string)

Kimenet:

Haladva a Python JSON oktatóanyagban, értsük meg a JSON deserializációját.

A JSON [Decode] deserializálása:

A JSON deserializációja pontosan ellentétes a szerializációval, vagyis azt jelenti, hogy dekódolod a JSON-ot. A megadott JSON karakterláncot a-vá konvertálja Piton tárgy felhasználásával Betöltés() és terhelések () módszer, amely elvégzi az átalakítást.

Az alábbiakban egy táblázat szemlélteti a JSON adattípus átalakítását a megfelelő Python típusgá.

JSON Piton

tárgy

dict (szótár)

tuple

lista, tömb

xml fájlok elemzése a Java-ban

húr

húr

számok

int, hosszú, úszó

igaz

Igaz

hamis

Hamis

nulla

Egyik sem

Haladás a „Python JSON” oktatóanyagban. Mutatok egy valós idejű példát mind a szerializációra, mind a deserializálásra a kódolási perspektíva révén.

Kódolás bemutatása:

Ebben a kódolási bemutatóban egy „Nobel-díj” elnevezésű JSON-adatbázist veszek igénybe, amelyet átadnak itt . Megtanulja, hogyan kell ugyanezeket sorosítani és deszerializálni egy JSON fájl segítségével.

Példa (JSON-adatkészlet sorosítása):

importálja a json-t az open ('nobel_prize.json.html') fájlban f: data = json.load (f) az open ('new_nobel_prize.json.html') fájl f: json.dump (data, f, indent = 2)

Kimenet:

sikeresen lefordításra kerül, és egy új „new_nobel_prize.json” fájl jön létre, ahol az adatokat egy már létező „nobel_prize.json” fájlból dobják ki.

Példa (a JSON-adatkészlet deserializálása):

importálja a json-t open ('nobel_prize.json.html') névvel f: data = json.load (f) for nobel_prize in data ['díjak']: print (nobel_prize ['év'], nobel_prize ['kategória'])

Kimenet:

A kódrészlet megmutatja a JSON fájlból a megfelelő Python objektummá történő változásokat.

Ezzel eljutottunk a „Python JSON” cikkünk végéhez. Remélem, hogy tisztában van a JSON-hoz, az elemzéshez, a sorosításhoz és a deserializációhoz kapcsolódó összes fogalommal.

Győződjön meg róla, hogy a lehető legtöbbet gyakorolja, és állítsa vissza a tapasztalatait.

Van egy kérdésünk? Kérjük, említse meg a Python JSON cikk megjegyzés szakaszában, és a lehető leghamarabb kapcsolatba lépünk Önnel. Ha részletes ismereteket szeretne szerezni a Pythonról és annak különböző alkalmazásokról, megteheti élő online képzésünkkel, 24/7 támogatással és életre szóló hozzáféréssel.