JSON je zkratka pro JavaScript Object Notation. To znamená, že k ukládání a přenosu dat se používá skriptový (spustitelný) soubor vytvořený z textu v programovacím jazyce. Python podporuje JSON prostřednictvím vestavěného balíčku s názvem JSON. Pro použití této funkce importujeme balíček JSON do skriptu Python. Text v JSON se provádí prostřednictvím řetězce v uvozovkách, který obsahuje hodnotu v mapování klíč-hodnota {} . Je to podobné jako ve slovníku v Krajta .
Poznámka: Další informace viz Číst, zapisovat a analyzovat JSON pomocí Pythonu
Metody používané k převodu Pythonu na JSON a zápisu JSON
- Použití funkce dump().
- Použití funkce dumps().
- Rozdíl mezi slovníkem a JSON
Převeďte slovník Python na soubor JSON pomocí json.dump()
V tomto programu převedeme slovník Pythonu na objekt JSON a poté jej uložíme do souboru. Nejprve naimportujeme modul JSON a poté definujeme slovník, který ukládá podrobnosti o studentech. Nyní použijeme json.dump() metoda pro převod a zápis objektu JSON do souboru spolu s metoda open(). zpracování souborů v Pythonu. Soubor sample.json otevřeme v režimu zápisu a poté soubor zapíšeme pomocí metody json.dump() modulu JSON v Pythonu.
Krajta 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ýstup:
Převeďte Python na objekt JSON Použití funkce dumps().
V níže uvedeném kódu převedeme a Pythonský slovník k objektu JSON pomocí json.dumps() metoda modulu JSON v Pythonu. Nejprve naimportujeme modul JSON a poté definujeme slovník, který uchovává údaje o zaměstnancích. Poté převedeme 'detaily_zaměstnance' slovníku k objektu JSON pomocí metody json.dumps() a uloženy do proměnné ‘json_object’.
Krajta # 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ýstup
{ 'id': '04', 'name': 'sunil', 'department': 'HR' }>
Převod vnořeného slovníku na JSON v Pythonu
V níže uvedeném kódu převedeme vnořený slovník na JSON v Pythonu. Nejprve importujeme modul JSON a poté vytvoříme vnořený slovník. Poté vnořený slovník převedeme na JSON pomocí metody json.dumps() tak, že v něm jako argument předáme slovník ‚person‘ a ‚indent=4‘. Nakonec vytiskneme převedený JSON.
Krajta 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ýstup
{ 'name': 'John Doe', 'age': 30, 'address': { 'street': '123 Main St', 'city': 'Anytown', 'state': 'CA' } }>
Převést slovník do JSON Quotes
Níže uvedený kód převede slovník Pythonu na řetězec JSON s dvojitými uvozovkami kolem klíčů a hodnot, toho můžeme dosáhnout pomocí funkce json.dumps() s secure_ascii parametr nastaven na ‘ Nepravdivé'.
Krajta
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ýstup
{'name': 'Krishna', 'age': 30, 'city': 'Mathura'}>
Převést slovník na JSON Array v Pythonu
V níže uvedeném kódu převedeme slovník Pythonu na pole JSON. Nejprve vytvoříme vzorová „data“ slovníku a poté vytvoříme seznam slovníku pomocí porozumění seznamu, abychom mohli iterovat klíče slovníku a uložit je do proměnné „pole“. Poté pole převeďte na pole JSON pomocí funkce json.dumps() a poté pole JSON vytiskněte.
Krajta 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ýstup
[{'name': 'Krishna'}, {'Course': 'DSA'}, {'Batch': 'July_2023'}]>
Převeďte slovník na JSON pomocí sort_keys v Pythonu
V níže uvedeném kódu převedeme slovník Pythonu pomocí při řazení klíčů. Chcete-li převést slovník Pythonu na řetězec JSON se seřazenými klíči, musíme zadat „ sort_keys' parametr jako 'Skutečný' v json.dumps() funkce. Ve výstupu můžeme vidět, že data jsou tříděna na základě klíčů.
Krajta 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ýstup
{'Aparna': 71, 'Binod': 49, 'Deepak': 89, 'Jaya': 83}>
Rozdíl mezi slovníkem a JSON
Ano ne. | JSON | Slovník |
---|---|---|
1. | JSON (JavaScript Object Notation) je formát pro výměnu dat používaný k ukládání a výměně dat mezi systémy. | Slovník v Pythonu je vestavěná datová struktura používaná k ukládání kolekce párů klíč-hodnota. rodič jquery |
2. | Klíče JSON musí být řetězce a uzavřeny do dvojitých uvozovek. | Klíče slovníku mohou mít různé datové typy, včetně řetězců, čísel a n-tic (neměnné typy). |
3. | JSON má přísnou syntaxi s páry klíč–hodnota oddělenými dvojtečkami (:) a páry oddělenými čárkami (,). Složené závorky {} uzavírají objekty JSON. | Slovníky Pythonu používají složené závorky {} k uzavření párů klíč-hodnota pomocí dvojteček : oddělujících klíče a hodnoty. |
4. | Klíče a hodnoty řetězce JSON musí být uzavřeny do dvojitých uvozovek (např. klíč: hodnota). | Ve slovnících Pythonu lze klíče zadat bez uvozovek (např. klíč: hodnota), i když jsou povoleny také uvozovky. |
5. | Např. {jméno: Ram, věk: 30} | Např. {jméno: Shyam, věk: 30} |
6. | K hodnotám JSON se přistupuje pomocí klíčů jako řetězců (např. data[name]). | K hodnotám slovníku se přistupuje pomocí klíčů (např. data[name]) nebo pomocí metody get(). vlk nebo liška |
7. | Data JSON lze ukládat a načítat ze souborů pomocí funkcí jako json.dump() a json.load(). | Slovníky Pythonu lze také serializovat do souborů pomocí různých metod, ale logiku serializace/deserializace musíte zvládnout sami. |