JSON (JavaScript Object Notation) er et populært filformat til at præsentere de strukturerede data og overføre dataene mellem serveren og applikationen nemt. Strukturen af denne fil ligner nogle Python-objekter som liste, tupel og ordbog. Du kan konvertere ethvert ordbogsobjekt til JSON-objektet ved hjælp af dump() og dumps() metoder i JSON-modulet. Denne artikel viser måder at konvertere ethvert ordbogsobjekt til JSON-objektet i python.
json.dumps () metode:
denne metode bruges til at konvertere ordbogsobjektet til JSON-data til parsing eller læsning, og det er langsommere end dump () – metoden.
syntaks:
denne metode har mange valgfrie argumenter. Anvendelsen af en obligatorisk og to valgfri argumenter er vist i denne artikel. Her er det første argument et obligatorisk argument, der bruges til at tage ethvert ordbogobjekt, det andet argument bruges til at definere antallet af enheder til indrykning, og det tredje argument bruges til at sortere nøgler.
json.dump () metode:
denne metode bruges til at gemme python-objekt i en JSON-fil. Det er hurtigere end dumps () – metoden, fordi den skriver i hukommelsen og filen separat.
syntaks:
denne metode har mange argumenter som lossepladser(). Anvendelserne af tre argumenter bruges i denne artikel til at konvertere dataene fra et ordbogsobjekt til JSON-data og gemme dataene i en JSON-fil. Her bruges det første argument til at tage et ordbogsobjekt, der skal konverteres til et JSON-objekt, og det andet argument bruges til at tage navnet på filhåndtereren for den fil, hvor JSON-dataene vil blive skrevet. Det tredje argument bruges til at indstille indrykningsenheden.
hvordan disse to metoder kan bruges til at konvertere ordbogobjekt til en JSON-fil eller JSON-streng er vist nedenfor i denne artikel.
eksempel-1: Konverter ordbog til JSON ved hjælp af dumps() med indrykning
det er nævnt før, at dumps () – metoden har en obligatorisk parameter, og det kan tage ordbogobjektet at konvertere dataene til JSON-streng. I det følgende script er dict_data en ordbogsvariabel, der indeholder dataene fra en bestemt elevpost. Først anvendes dumps () – metoden med et argument, og værdien af dict_data konverteres til JSON-data. Outputtet fra både ordbog og JSON-format er det samme, hvis der ikke bruges nogen indrykning i JSON-data. Dernæst anvendes dumps () – metoden med to argumenter, og 3 bruges som en indrykningsværdi for JSON-data. Den anden JSON output vil generere med indrykning.
# Import JSON module
import JSON
# Definer en ordbog
dict_data = { “student_id”: “011894”, “name”: “Matthæus”, “batch”: 30, “semester”:6 }
# Print dictionary data
print(“Dictonary Output: \n”, dict_data, “\n”)
# konverter ordbog til JSON-objekt uden indrykning
json_data = json.dumps (dict_data)
# Udskriv JSON data
Udskriv (“JSON Output uden indrykning: \n”,json_data, “\n”)
# konverter ordbog til json objekt med indrykning
json_data = json.dumps (dict_data,indent=3)
# Udskriv JSON data med indrykning
Udskriv (“JSON Output med indrykning: \n”, json_data)
Output:
følgende output vises efter kørsel af scriptet.
eksempel-2: Konverter ordbog til JSON ved hjælp af dumps() med sort_keys
nøglerne til JSON-data kan sorteres ved hjælp af sort_keys argument for dumps(). Standardværdien af dette argument er falsk. I det følgende script konverteres ordbogsobjektet til JSON-data uden at bruge sort_keys og bruge sort_keys til at vise brugen af dette argument. Den første dump () – metode anvendes med indrykningsværdi 5, og output viser JSON-data ved hjælp af indrykning 5. I den anden dumps () – metode bruges sort_keys og indstilles til sand til sortering af nøgleværdierne. Den sidste JSON-udgang viser dataene efter sortering af nøgleværdier.
# Import JSON modul
import json
# Definer en ordbog
dict_data = {‘navn’:’Madison’,’Month’:’May’,’year’: 2020, ‘sales’:}
# Print dictionary data
print(“Dictonary Output: \n”, dict_data, “\n”)
# Konverter en ordbog med listedata til json
json_data = json.dumps (dict_data,indent = 5)
# print json data
print (“JSON Output med indrykning: \n”, json_data)
# Konverter en ordbog med listedata til json ved at sortere nøgler
json_data = json.dumps (dict_data,indent = 5, sort_keys = True)
# Udskriv sorterede JSON-data baseret på nøgler
Udskriv (“sorteret JSON-Output med indrykning: \n”, json_data)
Output:
følgende output vises efter kørsel af scriptet. Den første JSON-udgang viser nøgleværdierne som defineret i ordbogen, og den anden JSON-udgang viser nøgleværdierne i sorteret rækkefølge.
eksempel-3: Konverter ordbog til JSON-data og gem til en JSON-fil
hvis du vil gemme JSON-dataene i en fil efter konvertering fra ordbogen, skal du bruge dump () – metoden. Hvordan du kan konvertere et ordbogsobjekt til en JSON-data og gemme dataene i en JSON-fil vises i dette eksempel. Her bruger dump () – metoden tre argumenter. Det første argument tager ordbogsobjektet, der er defineret før. Det andet argument tager filhåndteringsvariablen, der også er defineret før for at oprette en JSON-fil. Det tredje argument definerer indrykningsværdien. Indholdet af den nyskrevne JSON udskrives senere som output.
# Import JSON module
import json
# Definer en ordbog
dict_data = { ‘c-101’: ‘PHP Programmering’, ‘c-102’: ‘Bash Programmering’, ‘c-103’:
‘Python programmering’,
‘c-104’: ‘Objektorienteret programmering’}
# Print dictionary data
Udskriv(“Dictonary Output: \n”, dict_data, “\n”)
# Indstil json-filnavnet
jsonFile = ‘course_list.JSON ‘
# Åbn en JSON-fil til skrivning af JSON-data
med åben(jsonFile,’ V’) som filhåndtering1:
json.dump(dict_data, filhandler1, indent = 2)
# Åbn en JSON-fil til læsning
filhandler2 = åben (jsonFile)
Udskriv (“indholdet af JSON-filen: \n”, filhandler2.Læs())
Output:
følgende output vises efter kørsel af scriptet.
konklusion:
det er nødvendigt at skjule ordbogsdata i JSON-data for at gøre forskellige programmeringsopgaver lettere. Denne datakonvertering er vigtig, fordi dataene nemt kan overføres fra et script til et andet script ved hjælp af JSON. Jeg håber, denne tutorial vil hjælpe python-brugerne med at kende måderne til at konvertere ordbogsdata til JSON-data og anvende dem korrekt i deres script.