Čo je Python JSON a ako ho implementovať?



Tento článok o Python JSON vám pomôže naučiť sa, ako analyzovať, serializovať a deserializovať JSON pomocou ukážkových programov.

Viete, ako preniesť údaje z online rozhraní API alebo uložiť rôzne druhy údajov na miestne počítače? Tak či onak ste sa ponorili do JSON, ktorý znamená Zápis objektov Java Script. Jedná sa o renomovaný a populárny formát údajov, ktorý sa používa na reprezentáciu pološtruktúrovaných údajov. Pozrime sa podrobnejšie na Python JSON.

V tomto článku sa budeme zaoberať nasledujúcimi aspektmi:





Úvod do JSON v Pythone:

JSON znamená J ava S cript ALEBO bject N otácieje spôsob ukladania informácií organizovaným a jednoduchým spôsobom. Pri výmene medzi prehliadačom a serverom musia byť údaje vo forme textu.

Logo JSON - Python JSON-Edureka



Pre prípad, že by vás zaujímalo, či je ? potom je odpoveď č. Je to skript, ktorý je tvorený textom a slúži na ukladanie a prenos údajov v ľudskom a strojovo čitateľnom formáte. Je to malý a ľahký dátový formát inšpirovaný jazykom JavaScript a zvyčajne sa používa v textovom alebo reťazcovom formáte. Balíček JSON je takmer identický so slovníkom python. Teraz sa určite pýtate

Ako čítať súbor JSON v Pythone?

Odpoveď na vašu otázku je, že musíte importovať modul JSON, ktorý všeobecne prevádza dátové typy Pythonu do reťazcového súboru JSON. Skladá sa z funkcií JSON, ktoré čítajú a zapisujú priamo zo súborov JSON. má zabudovaný balík JSON a je súčasťou štandardnej knižnice, takže ho nemusíte inštalovať.

Príklad:

import json

Teraz, keď viete o JSON v Pythone, sa pozrime podrobnejšie na Parsing.



Analýza:

Knižnica JSON dokáže analyzovať JSON z struny alebo súbory. Môže tiež analyzovať JSON do alebo vypisujte a robte naopak. Analýza zvyčajne prebieha v dvoch fázach:

  1. Konverzia z JSON na Python
  2. Konverzia z Pythonu na JSON

Poďme lepšie pochopiť obe fázy.

Konverzia z JSON na Python:

Reťazec JSON môžete previesť na Python pomocoujson.loads ().Ukážem vám praktickú implementáciu:

Príklad:

import json people_string = '' '{' people ': [{' 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 (data)

Výkon:

Ako vidíte z vyššie uvedeného výstupu, vytlačil a . Pre lepšie pochopenie si vytlačíme dátový typ.

Príklad:

import json people_string = '' '{' people ': [{' 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)) # vytlačí dátový typ

Výkon:



Teraz, keď ste oboznámení s jednou konverziou, pozrime sa na druhý typ konverzie v druhej fáze.

Konverzia z Pythonu na JSON:

Objekt Python je možné previesť na reťazec JSON pomocoujson.dumps ().Pozrime sa na príklad uvedený nižšie:

Príklad:

import json people_string = '' '{' people ': [{' 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)

Výkon:

Výstup bude typu reťazca JSON. Už som predviedol dátový typ pri konverzii JSON na Python, bude sa postupovať podľa rovnakého postupu ako pri tlači dátového typu.


Poďme ďalej a pozrime sa, ako Pandas analyzuje JSON.

ako používať goto c ++

Analýza pandov JSON:

Reťazec JSON je možné analyzovať na a pandy Údajový rámec z nasledujúcich krokov:

  • Na načítanie reťazca JSON do údajového rámca je možné použiť nasledujúcu všeobecnú štruktúru.
importujte pandy ako pd pd.read_json (r'cesta, kde ste uložili súbor JSON názov súboru.json ')
  • Pripravte reťazec JSON.
  • Vytvorte súbor JSON, ktorý používame, je nobel_prize.json.
  • Vložte súbor JSON do pandy DataFrame.

Nižšie implementovaný kód načíta môj súbor JSON do DataFrame.

importovať pandy ako pd importovať json s otvoreným (r'C: UsersHarshit_KantDesktopnobel.prize.json ') ako f: data = json.load (f) print (data) df = pd.DataFrame print (df)

Výkon:

Ďalej sa pozrime, ako môžete serializovať JSON v Pythone.

Serializácia JSON [Encode]:

Serializácia JSON jednoducho znamená, že kódujete JSON. Konvertuje danú dátovú štruktúru Pythonu (napr. Dict) na svoj platný objekt JSON. Na spracovanie toku údajov v súbore používa knižnica JSON v Pythone a výpis () a skládky () metóda, ktorá robí prevod a uľahčuje zápis dát do súborov.

Ďalej je uvedená tabuľka ilustrujúca Python dátové typy prevedené na príslušný typ JSON.

Python JSON

dict (slovník)

objekt

zoznam, pole

násobný

struna

struna

int, long, float

čísla

Pravdaže

pravda

Falošné

nepravdivé

ako písať skener v

Žiadne

nulový

Body na zapamätanie:

výpis () - prevádza údaje do súboru JSON
skládky () - Konvertuje údaje na reťazec JSON
naložiť() - Konvertuje súbor JSON na objekt Python
zaťaženia () - Skonvertuje objekt reťazca JSON na objekt Python

Pekná tlač:

Spoločnosť Pretty Printing sa stará o zarovnanie kódu a robí ho v čitateľnom formáte. Pozrime sa na príklad nižšie, kde som odovzdal dva parametre ‘sort_keys’, ktoré vždy vrátia boolovskú hodnotu True a ‚odsadené‘ medzery.

Príklad:

import json people_string = '' '{' people ': [{' 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, sort_keys = True, odsadenie = 3) print (new_string)

Výkon:

Pokračujeme v tutoriáli Python JSON, poďme pochopiť deserializáciu JSON.

Deserializácia JSON [dekódovanie]:

Deserializácia JSON je presným opakom serializácie, to znamená, že dekódujete JSON. Konvertuje daný reťazec JSON na a Python objekt využitím naložiť() a zaťaženia () metóda, ktorá robí konverziu.

Ďalej je uvedená tabuľka, ktorá ilustruje prevod dátového typu JSON na príslušný typ Pythonu.

JSON Python

objekt

dict (slovník)

násobný

zoznam, pole

struna

struna

čísla

int, long, float

pravda

Pravdaže

nepravdivé

Falošné

nulový

Žiadne

Ďalej v tutoriále „Python JSON“. Ukážem vám príklad serializácie a deserializácie v reálnom čase prostredníctvom perspektívy kódovania.

Demonštrácia kódovania:

V tejto ukážke kódovania využívam dátový súbor JSON s názvom „Nobelova cena“, ktorý je uvedený tu . Dozviete sa, ako to urobiť serializáciu a deserializáciu prostredníctvom súboru JSON.

Príklad (serializácia súboru údajov JSON):

importovať json s open ('nobel_prize.json.html') ako f: data = json.load (f) s open ('new_nobel_prize.json.html') ako f: json.dump (data, f, odsadenie = 2)

Výkon:

sa úspešne skompiluje a vytvorí sa nový súbor „new_nobel_prize.json“, kde sa údaje ukladajú z už existujúceho súboru „nobel_prize.json“.

Príklad (deserializácia súboru údajov JSON):

importovať json s open ('nobel_prize.json.html') ako f: data = json.load (f) pre nobel_prize v dátach ['ceny']: print (nobel_prize ['rok'], nobel_prize ['kategória'])

Výkon:

Fragment kódu zobrazuje zmeny zo súboru JSON do príslušného objektu Python.

Týmto sa dostávame na koniec nášho článku „Python JSON“. Dúfam, že máte jasno vo všetkých konceptoch týkajúcich sa JSON, analýzy, serializácie a deserializácie.

Určite cvičte čo najviac a obráťte sa na svoje skúsenosti.

Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto článku o jazyku Python JSON a my sa vám ozveme čo najskôr. Ak chcete získať podrobné informácie o Pythone a jeho rôznych aplikáciách, môžete s našim živým online školením s nepretržitou podporou a doživotným prístupom.