logo

Ako previesť slovník Python na JSON?

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.