JSON je skratka pre JavaScript Object Notation. Znamená to, že na ukladanie a prenos údajov sa používa skriptový (spustiteľný) súbor vytvorený z textu v programovacom jazyku. Python podporuje JSON prostredníctvom vstavaného balíka s názvom JSON. Ak chcete použiť túto funkciu, importujeme balík JSON do skriptu Python. Text v JSON sa vykonáva prostredníctvom reťazca v úvodzovkách, ktorý obsahuje hodnotu v mapovaní kľúč-hodnota {} . Je to podobné ako v slovníku v Python .
Poznámka: Ďalšie informácie nájdete v časti Čítajte, píšte a analyzujte JSON pomocou Pythonu
Metódy používané na prevod Pythonu na JSON a písanie JSON
- Použitie funkcie dump().
- Použitie funkcie dumps().
- Rozdiel medzi slovníkom a JSON
Preveďte slovník Python na súbor JSON pomocou json.dump()
V tomto programe sa chystáme previesť slovník Pythonu na objekt JSON a potom ho uložiť do súboru. Najprv importujeme modul JSON a potom definujeme slovník, v ktorom sú uložené podrobnosti o študentovi. Teraz použijeme json.dump() metóda na konverziu a zápis objektu JSON do súboru spolu s metóda open(). spracovania súborov v Pythone. Súbor sample.json otvoríme v režime zápisu a potom súbor zapíšeme pomocou metódy json.dump() modulu JSON v Pythone.
Python import json # Define student_details dictionary student_details ={ 'name' : 'sathiyajith', 'rollno' : 56, 'cgpa' : 8.6, 'phonenumber' : '9976770500' } # Convert and write JSON object to file with open('sample.json', 'w') as outfile: json.dump(student_details, outfile)>
Výkon:
Previesť Python na objekt JSON Použitie funkcie dumps().
V nižšie uvedenom kóde prevedieme a Pythonský slovník na objekt JSON pomocou json.dumps() metóda modulu JSON v Pythone. Najprv importujeme modul JSON a potom definujeme slovník, ktorý ukladá podrobnosti o zamestnancovi. Potom prevedieme 'employee_details' slovník na objekt JSON pomocou metódy json.dumps() a uložený do premennej „json_object“.
Python # import json module import json # define Python dictionary employee_details ={ 'id': '04', 'name': 'sunil', 'department': 'HR' } # Convert Python to JSON json_object = json.dumps(employee_details, indent = 4) # Print JSON object print(json_object)>
Výkon
{ 'id': '04', 'name': 'sunil', 'department': 'HR' }>
Konverzia vnoreného slovníka na JSON v Pythone
V nižšie uvedenom kóde prevedieme vnorený slovník na JSON v Pythone. Najprv importujeme modul JSON a potom vytvoríme vnorený slovník. Potom skonvertujeme vnorený slovník na JSON pomocou metódy json.dumps() tak, že v ňom zadáme slovník ‘osoba’ a ‘odsadenie=4’ ako argument. Nakoniec vytlačíme skonvertovaný JSON.
Python import json # Create a nested dictionary person = { 'name': 'John Doe', 'age': 30, 'address': { 'street': '123 Main St', 'city': 'Anytown', 'state': 'CA' } } # Convert person dictionary to JSON json_string = json.dumps(person, indent=4) print(json_string)>
Výkon
{ 'name': 'John Doe', 'age': 30, 'address': { 'street': '123 Main St', 'city': 'Anytown', 'state': 'CA' } }>
Previesť slovník do JSON Quotes
Nižšie uvedený kód prevedie pythonovský slovník na reťazec JSON s dvojitými úvodzovkami okolo kľúčov a hodnôt, môžeme to dosiahnuť pomocou funkcie json.dumps() s secure_ascii parameter nastavený na „ nepravda’.
Python
import json # Create a dictionary data = { 'name': 'Krishna', 'age': 30, 'city': 'Mathura' } # Convert the dictionary to a # JSON string with double quotes json_string = json.dumps(data, ensure_ascii=False) print(json_string)>
Výkon
{'name': 'Krishna', 'age': 30, 'city': 'Mathura'}>
Previesť slovník na pole JSON v Pythone
V nižšie uvedenom kóde skonvertujeme slovník Python na pole JSON. Najprv vytvoríme vzorové „údaje“ slovníka a potom vytvoríme zoznam slovníkov pomocou porozumenia zoznamu na iteráciu kľúčov slovníka a ich uloženie do premennej „pole“. Potom skonvertujte pole na pole JSON pomocou funkcie json.dumps() a potom vytlačte pole JSON.
Python import json # Create a dictionary data = { 'name': 'Krishna', 'Course': 'DSA', 'Batch': 'July_2023' } array = [{i: data[i]} for i in data] # Convert the dictionary into a JSON array json_array = json.dumps(array) print(json_array)>
Výkon
[{'name': 'Krishna'}, {'Course': 'DSA'}, {'Batch': 'July_2023'}]>
Preveďte slovník na JSON pomocou sort_keys v Pythone
V nižšie uvedenom kóde prevedieme slovník Python pomocou pri triedení kľúčov. Ak chcete previesť slovník Pythonu na reťazec JSON so zoradenými kľúčmi, musíme zadať „ sort_keys' parameter ako „pravda“ v json.dumps() funkciu. Vo výstupe vidíme, že údaje sú triedené na základe kľúčov.
Python import json # Create a dictionary with unsorted keys marks = { 'Binod': 49, 'Aparna': 71, 'Jaya': 83, 'Deepak': 89 } # Convert the dictionary to a # JSON string with sorted keys json_string = json.dumps(marks, sort_keys=True) print(json_string)>
Výkon
{'Aparna': 71, 'Binod': 49, 'Deepak': 89, 'Jaya': 83}>
Rozdiel medzi slovníkom a JSON
Áno nie. | JSON | Slovník |
---|---|---|
1. | JSON (JavaScript Object Notation) je formát na výmenu údajov, ktorý sa používa na ukladanie a výmenu údajov medzi systémami. | Slovník v Pythone je vstavaná dátová štruktúra používaná na ukladanie kolekcie párov kľúč – hodnota. zalamovanie slov css |
2. | Kľúče JSON musia byť reťazce a musia byť uzavreté v úvodzovkách. | Kľúče slovníka môžu mať rôzne typy údajov vrátane reťazcov, čísel a n-tic (nemenné typy). |
3. | JSON má prísnu syntax s pármi kľúč – hodnota oddelenými dvojbodkami (:) a pármi oddelenými čiarkami (,). Zložené zátvorky {} ohraničujú objekty JSON. listnode | Slovníky Pythonu používajú zložené zátvorky {} na uzavretie párov kľúč – hodnota s dvojbodkami : oddeľujúce kľúče a hodnoty. |
4. | Kľúče JSON a hodnoty reťazcov musia byť uzavreté v úvodzovkách (napr. kľúč: hodnota). | V slovníkoch Pythonu môžu byť kľúče špecifikované bez úvodzoviek (napr. kľúč: hodnota), hoci sú povolené aj úvodzovky. |
5. | Napr. {meno: Ram, vek: 30} | Napr. {meno: Shyam, vek: 30} |
6. | K hodnotám JSON sa pristupuje pomocou kľúčov ako reťazcov (napr. data[name]). | K hodnotám slovníka sa pristupuje pomocou kľúčov (napr. data[name]) alebo pomocou metódy get(). |
7. | Údaje JSON je možné ukladať a načítať zo súborov pomocou funkcií ako json.dump() a json.load(). | Slovníky Pythonu možno tiež serializovať do súborov pomocou rôznych metód, ale logiku serializácie/deserializácie musíte zvládnuť sami. |