JSON staat voor JavaScript Object Notation. Het betekent dat een scriptbestand (uitvoerbaar) gemaakt van tekst in een programmeertaal wordt gebruikt om de gegevens op te slaan en over te dragen. Python ondersteunt JSON via een ingebouwd pakket genaamd JSON. Om deze functie te gebruiken, importeren we het JSON-pakket in Python-script. De tekst in JSON wordt gedaan via een tekenreeks tussen aanhalingstekens, die een waarde bevat in de sleutelwaarde-toewijzing binnenin {} . Het is vergelijkbaar met het woordenboek in Python .
Opmerking: Voor meer informatie, zie JSON lezen, schrijven en parseren met Python
Methoden die worden gebruikt om Python naar JSON te converteren en JSON te schrijven
- De dump()-functie gebruiken
- De functie dumps() gebruiken
- Verschil tussen woordenboek en JSON
Converteer Dictionary Python naar JSON-bestand met json.dump()
In dit programma gaan we het Python-woordenboek converteren naar een JSON-object en het vervolgens in een bestand opslaan. Eerst importeren we de JSON-module en definiëren vervolgens een woordenboek waarin leerlinggegevens worden opgeslagen. Nu gaan we gebruiken json.dump() methode om het JSON-object te converteren en samen met een bestand naar een bestand te schrijven open() methode van bestandsverwerking in Python. We openen het sample.json-bestand in de schrijfmodus en daarna schrijven we het bestand met behulp van de json.dump()-methode van de JSON-module in Python.
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)>
Uitgang:
Converteer Python naar JSON-object De functie dumps() gebruiken
In de onderstaande code gaan we een Python-woordenboek naar een JSON-object met behulp van json.dumps() methode van JSON-module in Python. Eerst importeren we de JSON-module en definiëren vervolgens een woordenboek waarin werknemersgegevens worden opgeslagen. Daarna converteren we de ’medewerker_details’ woordenboek naar JSON-object met behulp van de methode json.dumps() en opgeslagen in de variabele ‘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)>
Uitvoer
{ 'id': '04', 'name': 'sunil', 'department': 'HR' }>
Geneste woordenboek converteren naar JSON in Python
In de onderstaande code converteren we het geneste woordenboek naar JSON in Python. Eerst importeren we de JSON-module en maken vervolgens een genest woordenboek. Daarna converteren we het geneste woordenboek naar JSON met behulp van de json.dumps()-methode door woordenboek ‘person’ en ‘indent=4’ als argument daarin door te geven. Ten slotte printen we de geconverteerde 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)>
Uitvoer
{ 'name': 'John Doe', 'age': 30, 'address': { 'street': '123 Main St', 'city': 'Anytown', 'state': 'CA' } }>
Converteer woordenboek naar JSON-citaten
De onderstaande code converteert een Python-woordenboek naar een JSON-string met dubbele aanhalingstekens rond de sleutels en waarden. We kunnen dit bereiken met behulp van de json.dumps() functie met de verzekeren_ascii parameter ingesteld op ‘ Vals’.
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)>
Uitvoer
{'name': 'Krishna', 'age': 30, 'city': 'Mathura'}>
Converteer woordenboek naar JSON-array in Python
In de onderstaande code converteren we het Python-woordenboek naar een JSON-array. Eerst maken we een voorbeeldwoordenboek ‘data’ en vervolgens maken we een lijst met woordenboeken met behulp van lijstbegrip om de sleutels van het woordenboek te herhalen en deze op te slaan in een variabele ‘array’. Converteer daarna de array naar een JSON-array met de functie json.dumps() en druk vervolgens de JSON-array af.
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)>
Uitvoer
[{'name': 'Krishna'}, {'Course': 'DSA'}, {'Batch': 'July_2023'}]>
Converteer woordenboek naar JSON met behulp van sort_keys in Python
In de onderstaande code zullen we het Python-woordenboek converteren terwijl we de sleutels sorteren. Om een Python-woordenboek om te zetten naar een JSON-string met gesorteerde sleutels moeten we de ‘ sorteersleutels’ parameter als 'WAAR' in json.dumps() functie. We kunnen in de uitvoer zien dat gegevens worden gesorteerd op basis van sleutels.
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)>
Uitvoer
{'Aparna': 71, 'Binod': 49, 'Deepak': 89, 'Jaya': 83}>
Verschil tussen woordenboek en JSON
Ja nee. | JSON | Woordenboek |
---|---|---|
1. | JSON (JavaScript Object Notation) is een gegevensuitwisselingsformaat dat wordt gebruikt om gegevens tussen systemen op te slaan en uit te wisselen. | Een woordenboek in Python is een ingebouwde gegevensstructuur die wordt gebruikt om een verzameling sleutelwaardeparen op te slaan. normale vormen |
2. | JSON-sleutels moeten tekenreeksen zijn en tussen dubbele aanhalingstekens staan. | Woordenboeksleutels kunnen van verschillende gegevenstypen zijn, waaronder tekenreeksen, getallen en tupels (onveranderlijke typen). |
3. | JSON heeft een strikte syntaxis met sleutel-waardeparen gescheiden door dubbele punten (:) en paren gescheiden door komma's (,). Accolades {} omsluiten JSON-objecten. | Python-woordenboeken gebruiken accolades {} om sleutel-waardeparen te omsluiten, met dubbele punten: die sleutels en waarden scheiden. |
4. | JSON-sleutels en tekenreekswaarden moeten tussen dubbele aanhalingstekens staan (bijvoorbeeld sleutel: waarde). | In Python-woordenboeken kunnen sleutels worden opgegeven zonder aanhalingstekens (bijvoorbeeld sleutel: waarde), hoewel aanhalingstekens ook zijn toegestaan. |
5. | Bijv. {naam: Ram, leeftijd: 30} | Bijv. {naam: Shyam, leeftijd: 30} |
6. | JSON-waarden zijn toegankelijk met behulp van sleutels als tekenreeksen (bijvoorbeeld data[naam]). | Woordenboekwaarden zijn toegankelijk met behulp van sleutels (bijvoorbeeld data[naam]) of met behulp van de get()-methode. |
7. | JSON-gegevens kunnen worden opgeslagen in en geladen vanuit bestanden met behulp van functies als json.dump() en json.load(). | Python-woordenboeken kunnen ook op verschillende manieren worden geserialiseerd naar bestanden, maar u moet zelf de serialisatie-/deserialisatielogica afhandelen. Sanjay Dutt en |