Co je Python JSON a jak jej implementovat?



Tento článek o Python JSON vám pomůže naučit se analyzovat, serializovat a deserializovat JSON pomocí ukázkových programů.

Víte, jak přenášet data z online rozhraní API nebo ukládat různé druhy dat na místní počítače? Tak či onak jste se ponořili do JSON, což znamená Java Script Object Notation. Jedná se o renomovaný a populární datový formát používaný k reprezentaci polostrukturovaných dat. Pojďme se podrobněji seznámit s Python JSON.

V tomto článku se budeme zabývat následujícími aspekty:





Úvod do JSON v Pythonu:

JSON znamená J ava S krypt NEBO bject N otaceje způsob organizovaného a snadného ukládání informací. Při výměně mezi prohlížečem a serverem musí být data ve formě textu.

Logo JSON - Python JSON-Edureka



V případě, že vás zajímá, jestli ano ? pak je odpověď Ne. Jedná se o skript, který je tvořen textem a slouží k ukládání a přenosu dat v lidském a strojově čitelném formátu. Jedná se o malý a lehký datový formát inspirovaný JavaScriptem a obvykle používaný v textovém nebo řetězcovém formátu. Balíček něčeho JSON je téměř totožný se slovníkem pythonu. Teď se musíte divit

Jak číst soubor JSON v Pythonu?

Odpověď na vaši otázku je, že musíte importovat modul JSON, který obecně převádí datové typy Pythonu do souboru řetězce JSON. Skládá se z funkcí JSON, které čtou a zapisují přímo ze souborů JSON. má integrovaný balíček JSON a je součástí standardní knihovny, takže jej nemusíte instalovat.

Příklad:

importovat JSON

Nyní, když víte o JSON v Pythonu, pojďme se hlouběji podívat na analýzu.



Analýza:

Knihovna JSON může analyzovat JSON z struny nebo soubory. Může také analyzovat JSON do nebo vypsat a udělat naopak. Analýza obvykle probíhá ve dvou fázích:

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

Pojďme lépe porozumět oběma fázím.

Konverze z JSON na Python:

Řetězec JSON můžete převést na Python pomocíjson.loads ().Ukážu vám praktickou implementaci:

Pří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ýstup:

Jak vidíte z výše uvedeného výstupu, vytiskl a . Vytiskneme datový typ, abychom lépe porozuměli.

Pří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)) #prints the datatype

Výstup:



Nyní, když jste obeznámeni s jednou konverzí, podívejme se na druhý typ konverze ve druhé fázi.

Konverze z Pythonu na JSON:

Objekt Pythonu lze převést na řetězec JSON pomocíjson.dumps ().Podívejme se na příklad uvedený níže:

Pří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ýstup:

Výstup bude typu řetězce JSON. Již jsem předvedl datový typ v převodu JSON na Python, stejný postup se použije při tisku datového typu.


Pojďme se podívat, jak Pandy analyzují JSON.

java změna zdvojnásobit na int

Analýza pand JSON:

Řetězec JSON lze analyzovat na pandy Dataframe z následujících kroků:

  • Následující obecnou strukturu lze použít k načtení řetězce JSON do DataFrame.
importujte pandy jako pd pd.read_json (r'Path, kam jste uložili soubor JSON název souboru.json ')
  • Připravte řetězec JSON.
  • Vytvořte soubor JSON, který používáme, je nobel_prize.json.
  • Vložte soubor JSON do pand DataFrame.

Níže implementovaný kód načte můj soubor JSON do DataFrame.

importovat pandy jako pd importovat json s otevřeným (r'C: UsersHarshit_KantDesktopnobel.prize.json ') jako f: data = json.load (f) print (data) df = pd.DataFrame print (df)

Výstup:

Pohybem vpřed se podívejme, jak můžete serializovat JSON v Pythonu.

Serializace JSON [Encode]:

Serializace JSON jednoduše znamená, že kódujete JSON. Převádí danou datovou strukturu Pythonu (např .: dict) na svůj platný objekt JSON. Ke zpracování toku dat v souboru používá knihovna JSON v Pythonu a výpis () a skládky () metoda, která provádí převod a usnadňuje zápis dat do souborů.

Níže je uvedena tabulka ilustrující Krajta typy dat převádění na příslušný typ JSON.

Krajta JSON

dict (slovník)

objekt

seznam, pole

n-tice

tětiva

tětiva

int, long, float

čísla

Skutečný

skutečný

Nepravdivé

Nepravdivé

jak vytvořit aplikaci v salesforce

Žádný

nula

Body k zapamatování:

výpis () - Převede data do souboru JSON
skládky () - Převede data na řetězec JSON
zatížení() - Převede soubor JSON na objekt Pythonu
zatížení () - Převede objekt řetězce JSON na objekt Pythonu

Pěkný tisk:

Pretty Printing se stará o zarovnání kódu a dělá ho v čitelném formátu. Podívejme se na níže uvedený příklad, kde jsem předal dva parametry ‘sort_keys’, které vždy vrací booleovskou True hodnotu a ‚odsazené‘ mezery.

Pří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, odsazení = 3) print (new_string)

Výstup:

Pokračujeme v tutoriálu Python JSON, pojďme pochopit deserializaci JSON.

Deserializace JSON [Decode]:

Deserializace JSON je přesným opakem serializace, tj. Znamená, že dekódujete JSON. Převede daný řetězec JSON na a Krajta objekt využitím zatížení() a zatížení () metoda, která provádí převod.

Níže je uvedena tabulka, která ilustruje převod datového typu JSON na příslušný typ Pythonu.

JSON Krajta

objekt

dict (slovník)

n-tice

seznam, pole

tětiva

tětiva

čísla

int, long, float

skutečný

Skutečný

Nepravdivé

Nepravdivé

nula

Žádný

Pokračujeme v tutoriálu „Python JSON“. Ukážu vám příklad serializace a deserializace v reálném čase prostřednictvím kódovací perspektivy.

Demonstrace kódování:

V této ukázce kódování využívám datový soubor JSON s názvem „Nobelova cena“, který je uveden tady . Naučíte se, jak provádět serializaci a deserializaci stejných souborů prostřednictvím souboru JSON.

Příklad (serializace datové sady JSON):

importujte json s open ('nobel_prize.json.html') jako f: data = json.load (f) s open ('new_nobel_prize.json.html') jako f: json.dump (data, f, odrážka = 2)

Výstup:

je úspěšně zkompilován a je vytvořen nový soubor „new_nobel_prize.json“, kde jsou data vypisována z již existujícího souboru „nobel_prize.json“.

Příklad (deserializace datové sady JSON):

importovat json s otevřeným ('nobel_prize.json.html') jako f: data = json.load (f) pro nobel_prize v datech ['ceny']: tisk (nobel_prize ['rok'], nobel_prize ['kategorie'])

Výstup:

Fragment kódu zobrazuje změny ze souboru JSON do příslušného objektu Pythonu.

Tím se dostáváme na konec našeho článku „Python JSON“. Doufám, že máte jasno ve všech konceptech souvisejících s JSON, analýzou, serializací a deserializací.

Ujistěte se, že cvičíte co nejvíce a vraťte své zkušenosti.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto článku o Pythonu JSON a my se vám ozveme co nejdříve. Chcete-li získat podrobné znalosti Pythonu a jeho různých aplikací, můžete s naším živým online školením s nepřetržitou podporou a doživotním přístupem.