logo

Jak převést slovník Python na JSON?

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.