JSON je kratica za JavaScript Object Notation. To pomeni, da se za shranjevanje in prenos podatkov uporablja skriptna (izvršljiva) datoteka, sestavljena iz besedila v programskem jeziku. Python podpira JSON prek vgrajenega paketa JSON. Za uporabo te funkcije uvozimo paket JSON v skript Python. Besedilo v JSON je narejeno prek niza v narekovajih, ki vsebuje vrednost v preslikavi ključa in vrednosti znotraj {} . Podoben je slovarju v Python .
Opomba: Za več informacij glejte Branje, pisanje in razčlenjevanje JSON z uporabo Pythona
Metode, uporabljene za pretvorbo Pythona v JSON in pisanje JSON
- Uporaba funkcije dump().
- Uporaba funkcije dumps().
- Razlika med slovarjem in JSON
Pretvorite slovarski Python v datoteko JSON z uporabo json.dump()
V tem programu bomo slovar Python pretvorili v objekt JSON in ga nato shranili v datoteko. Najprej uvozimo modul JSON in nato definiramo slovar, v katerem so shranjeni podatki študentov. Zdaj pa bomo uporabili json.dump() metoda za pretvorbo in pisanje objekta JSON v datoteko skupaj z metoda open(). obdelave datotek v Pythonu. Datoteko sample.json odpremo v načinu pisanja in nato datoteko zapišemo z metodo json.dump() modula JSON v Pythonu.
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)>
Izhod:
Pretvorite Python v objekt JSON Uporaba funkcije dumps().
V spodnji kodi bomo pretvorili a Slovar Python v objekt JSON z uporabo json.dumps() metoda modula JSON v Pythonu. Najprej uvozimo modul JSON in nato definiramo slovar, ki hrani podatke o zaposlenih. Po tem pretvorimo 'podrobnosti_zaposlenega' slovarja v objekt JSON z uporabo metode json.dumps() in shranjen v spremenljivko '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)>
Izhod
{ 'id': '04', 'name': 'sunil', 'department': 'HR' }>
Pretvarjanje ugnezdenega slovarja v JSON v Pythonu
V spodnji kodi bomo pretvorili ugnezdeni slovar v JSON v Pythonu. Najprej uvozimo modul JSON in nato ustvarimo ugnezdeni slovar. Nato pretvorimo ugnezdeni slovar v JSON z uporabo metode json.dumps() tako, da podamo slovar 'oseba' in 'indent=4' kot argument v njem. Na koncu natisnemo pretvorjeni 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)>
Izhod
{ 'name': 'John Doe', 'age': 30, 'address': { 'street': '123 Main St', 'city': 'Anytown', 'state': 'CA' } }>
Pretvori slovar v citate JSON
Spodnja koda bo pretvorila slovar Python v niz JSON z dvojnimi narekovaji okoli ključev in vrednosti, to lahko dosežemo s funkcijo json.dumps() z zagotovi_ascii parameter nastavljen na ' False'.
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)>
Izhod
{'name': 'Krishna', 'age': 30, 'city': 'Mathura'}>
Pretvorite slovar v polje JSON v Pythonu
V spodnji kodi bomo pretvorili slovar Python v matriko JSON. Najprej ustvarimo vzorčne slovarske 'podatke' in nato ustvarimo seznam slovarjev z uporabo razumevanja seznamov za ponavljanje ključev slovarja in jih shranimo v spremenljivko 'niz'. Nato pretvorite matriko v matriko JSON s funkcijo json.dumps() in nato natisnite matriko 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)>
Izhod
[{'name': 'Krishna'}, {'Course': 'DSA'}, {'Batch': 'July_2023'}]>
Pretvorite slovar v JSON z uporabo sort_keys v Pythonu
V spodnji kodi bomo pretvorili slovar Python z uporabo med razvrščanjem ključev. Za pretvorbo slovarja Python v niz JSON z razvrščenimi ključi moramo določiti ' sort_keys' parameter kot 'Prav' v json.dumps() funkcijo. V izhodu lahko vidimo, da so podatki razvrščeni na podlagi ključev.
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)>
Izhod
{'Aparna': 71, 'Binod': 49, 'Deepak': 89, 'Jaya': 83}>
Razlika med slovarjem in JSON
da ne | JSON | Slovar |
---|---|---|
1. | JSON (JavaScript Object Notation) je format za izmenjavo podatkov, ki se uporablja za shranjevanje in izmenjavo podatkov med sistemi. | Slovar v Pythonu je vgrajena podatkovna struktura, ki se uporablja za shranjevanje zbirke parov ključ-vrednost. java iterator za zemljevid |
2. | Ključi JSON morajo biti nizi in v dvojnih narekovajih. | Slovarski ključi so lahko različnih tipov podatkov, vključno z nizi, številkami in tuplemi (nespremenljivi tipi). |
3. | JSON ima strogo sintakso s pari ključ-vrednost, ločenimi z dvopičji (:), in pari, ločenimi z vejicami (,). Zavit oklepaj {} obdaja objekte JSON. | Slovarji Python uporabljajo zavite oklepaje {}, da zaprejo pare ključ-vrednost, z dvopičji : ločujejo ključe in vrednosti. |
4. | Ključi JSON in vrednosti nizov morajo biti v dvojnih narekovajih (npr. ključ: vrednost). | V slovarjih Python lahko ključe navedete brez narekovajev (npr. ključ: vrednost), čeprav so dovoljeni tudi narekovaji. listnode java |
5. | Npr. {ime: Ram, starost: 30} | Npr. {ime: Shyam, starost: 30} |
6. | Do vrednosti JSON se dostopa s ključi kot nizi (npr. data[name]). | Do slovarskih vrednosti se dostopa s ključi (npr. data[name]) ali z uporabo metode get(). |
7. | Podatke JSON je mogoče shraniti v datoteke in jih naložiti s funkcijami, kot sta json.dump() in json.load(). | Slovarje Python je mogoče tudi serializirati v datoteke z različnimi metodami, vendar morate sami ravnati z logiko serializacije/deserializacije. |