Python JSON: Les, skriv, analyser JSON (med eksempler)

I denne opplæringen lærer du å analysere, lese og skrive JSON i Python ved hjelp av eksempler. Du vil også lære å konvertere JSON til å diktere og ganske skrive ut den.

JSON ( J ava S cript O bject N otation) er et populært dataformat som brukes til å representere strukturerte data. Det er vanlig å overføre og motta data mellom en server og en webapplikasjon i JSON-format.

I Python eksisterer JSON som en streng. For eksempel:

 p = '("name": "Bob", "languages": ("Python", "Java"))' 

Det er også vanlig å lagre et JSON-objekt i en fil.

Importer json-modul

For å jobbe med JSON (streng eller fil som inneholder JSON-objekt), kan du bruke Pythons jsonmodul. Du må importere modulen før du kan bruke den.

 import json

Analyser JSON i Python

Den jsonmodulen gjør det enkelt å analysere JSON strenger og filer som inneholder JSON objekt.

Eksempel 1: Python JSON å diktere

Du kan analysere en JSON-streng ved hjelp av json.loads()metoden. Metoden returnerer en ordbok.

 import json person = '("name": "Bob", "languages": ("English", "Fench"))' person_dict = json.loads(person) # Output: ('name': 'Bob', 'languages': ('English', 'Fench')) print( person_dict) # Output: ('English', 'French') print(person_dict('languages'))

Her er personen en JSON-streng, og person_dict er en ordbok.

Eksempel 2: Python-lest JSON-fil

Du kan bruke json.load()metoden til å lese en fil som inneholder JSON-objekt.

Anta at du har en fil som heter person.jsonet JSON-objekt.

  ("name": "Bob", "languages": ("English", "Fench") ) 

Slik kan du analysere denne filen:

  import json with open('path_to_file/person.json') as f: data = json.load(f) # Output: ('name': 'Bob', 'languages': ('English', 'Fench')) print(data) 

Her har vi brukt open()funksjonen til å lese json-filen. Deretter analyseres filen ved hjelp av en json.load()metode som gir oss en ordbok som heter data.

Hvis du ikke vet hvordan du skal lese og skrive filer i Python, anbefaler vi at du sjekker Python File I / O.

Python-konvertering til JSON-streng

Du kan konvertere en ordbok til JSON-streng ved hjelp av json.dumps()metoden.

Eksempel 3: Konverter dict til JSON

  import json person_dict = ('name': 'Bob', 'age': 12, 'children': None ) person_json = json.dumps(person_dict) # Output: ("name": "Bob", "age": 12, "children": null) print(person_json) 

Her er en tabell som viser Python-objekter og deres tilsvarende konvertering til JSON.

Python JSON tilsvarende
dict gjenstand
list, tuple array
str streng
int, float,int Antall
True ekte
False falsk
None null

Skriver JSON til en fil

For å skrive JSON til en fil i Python, kan vi bruke json.dump()metoden.

Eksempel 4: Skrive JSON til en fil

  import json person_dict = ("name": "Bob", "languages": ("English", "Fench"), "married": True, "age": 32 ) with open('person.txt', 'w') as json_file: json.dump(person_dict, json_file) 

I programmet ovenfor har vi åpnet en fil som heter person.txti skrivemodus ved hjelp av 'w'. Hvis filen ikke allerede eksisterer, blir den opprettet. Deretter json.dump()transformeres person_dicttil en JSON-streng som lagres i person.txtfilen.

Når du kjører programmet, blir person.txtfilen opprettet. Filen har følgende tekst.

 ("name": "Bob", "languages": ("English", "Fench"), "married": true, "age": 32)

Python pen utskrift JSON

For å analysere og feilsøke JSON-data, må vi kanskje skrive dem ut i et mer lesbart format. Dette kan gjøres ved å sende flere parametere indentog sort_keystil json.dumps()og json.dump()metode.

Eksempel 5: Python pen utskrift JSON

  import json person_string = '("name": "Bob", "languages": "English", "numbers": (2, 1.6, null))' # Getting dictionary person_dict = json.loads(person_string) # Pretty Printing JSON string back print(json.dumps(person_dict, indent = 4, sort_keys=True)) 

Når du kjører programmet, vil utdataene være:

 ("languages": "English", "name": "Bob", "numbers": (2, 1.6, null)) 

I programmet ovenfor har vi brukt 4mellomrom for innrykk. Og tastene er sortert i stigende rekkefølge.

For øvrig er standardverdien for innrykk None. Standardverdien for sort_keys er også False.

Anbefalte målinger:

  • Python JSON til CSV og omvendt
  • Python XML til JSON og omvendt
  • Python simplejson

Interessante artikler...