“JSON eller JavaScript Object Notation er et lett datautvekslingsformat som er mye vedtatt av moderne applikasjoner. Enten du jobber i NoSQL -databaser eller henter API -data, vil du møte JSON.
Det er et sterkt vedtatt språk på grunn av dets enkelhet, men strengt skjema. Dette hjelper til med å redusere feil mens du fremdeles beholder menneskelig lesbarhet.
Heldigvis har Python en innebygd pakke kalt JSON som lar oss samhandle og behandle JSON-data.
For denne opplæringen vil vi dekke hvordan du kan trykke JSON-data ved å bruke Pythons JSON-modul.”
La oss komme i gang.
Python Json.Dumps () -funksjon
For å skrive JSON -data i Python, bruker vi Dumps -metoden fra JSON -modulen. Funksjonssyntaksen er som vist:
1 | JSON.Dumps (obj, *, skipkeys = falsk, sikre_ascii = true, check_circular = true, tillate_nan = true, cls = none, indent = ingen, separatorer = ingen, standard = ingen, sort_keys = falsk, ** kw) |
Funksjonsparametrene er som diskutert nedenfor:
La oss utforske hvordan vi kan bruke denne funksjonen til å trykke JSON-data ganske trykk.
Eksempel 1
Eksemplet nedenfor viser hvordan du bruker JSON.dumps () funksjon for å trykke på et JSON-objekt.
1 2 3 4 5 6 7 8 9 10 11 | fra JSON importdumps, laster data = '"id": 1, "first_name": "jada", "last_name": "deporter", "e-post": "[email protected] "," Kjønn ":" Kvinne "," IP_Address ":" 68.40.159.153 " ' json_object = laster (data) Print (Dumps (JSON_Object, Indent = 3)) |
Vi starter med å importere de nødvendige funksjonene. I vårt tilfelle trenger vi Dumps () -funksjonen for å trykke JSON-objektet og belastningene for å deserialisere JSON til et Python-objekt.
Deretter oppretter vi en variabel som holder Raw JSON -dataene. Vi konverterer det til et python -objekt ved å bruke lastenes funksjon og til slutt, skriv det ut med dumpene () -funksjonen.
Den resulterende utgangen er som vist:
1 2 3 4 5 6 7 8 9 | $ Python Pretty_print.py "id": 1, "First_name": "Jada", "Last_name": "deporter", "E-post": "[email protected] ", "kjønn kvinnelig", "ip_address": "68.40.159.153 " |
Koden nedenfor viser det samme JSO -utgangsnivået med et innrykknivå på 1.
1 2 3 4 5 6 7 8 9 10 11 | fra JSON importdumps, laster data = '"id": 1, "first_name": "jada", "last_name": "deporter", "e-post": "[email protected] "," Kjønn ":" Kvinne "," IP_Address ":" 68.40.159.153 " ' json_object = laster (data) Print (Dumps (JSON_Object, Indent = 1)) |
Den resulterende utgangen:
Legg merke til at innrykknivået på 3 legger til flere hvitromstegn når du skriver ut JSON.
Eksempel 2 - Sorteringstaster
Vi kan også sortere nøklene til output -ordboken ved å sette sort_keys -parameteren til True.
Tenk på eksemplet nedenfor:
1 2 3 4 5 6 7 8 9 10 11 | fra JSON importdumps, laster data = '"id": 1, "first_name": "jada", "last_name": "deporter", "e-post": "[email protected] "," Kjønn ":" Kvinne "," IP_Address ":" 68.40.159.153 " ' json_object = laster (data) Print (Dumps (JSON_Object, Indent = 1, Sort_Keys = True))) |
Koden skal sortere tastene til output -ordboken i stigende rekkefølge som vist:
Legg merke til hvordan hver tast i den resulterende ordboken er sortert i alfabetisk rekkefølge.
Eksempel 3 - Pretty Print Json fra filen
Ved hjelp av Pythons åpne funksjon, kan vi laste inn data fra en JSON -fil og ganske skrive den ut. Anta at vi har en JSON -fil som vist:
Vi kan laste inn filen og bruke JSON.Dumps () -metode som vist i eksempelkoden nedenfor:
1 2 3 4 5 6 7 | Fra JSON importdumps, last med åpen ('net_info.json ',' r ') som f: json_data = last (f) Print (Dumps (JSON_Data, Indent = 1)) |
I eksemplet over bruker vi belastningsfunksjonen for å laste inn JSON -dataene fra filen til et JSON -objekt.
Vi bruker deretter dumpene -funksjonen til å utskrive med et innrykknivå på 1. Den resulterende utgangen er som vist:
Utgangen gir oss en velformatert liste over Python-ordbøker som representerer JSON-dataene.
Konklusjon
I denne opplæringen lærte vi hvordan vi bruker JSON Dumps-funksjonen til å trykke JSON-data i Python. Vi lærte også hvordan du sorterer JSON -data etter nøklene ved hjelp av parameteren Sort_Keys.
Takk for at du leste!!