Python JSON: Čítanie, zápis, analýza JSON (s príkladmi)

V tomto tutoriáli sa naučíte pomocou príkladov analyzovať, čítať a písať JSON v Pythone. Naučíte sa tiež prevádzať JSON na diktáty a pekne ich tlačiť.

JSON ( J ava S Cripta O bject N otation) je populárny Formát dát pre reprezentáciu štruktúrovaných dát. Je bežné prenášať a prijímať údaje medzi serverom a webovou aplikáciou vo formáte JSON.

V Pythone existuje JSON ako reťazec. Napríklad:

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

Je tiež bežné ukladať objekt JSON do súboru.

Importujte modul JSON

Na prácu s JSON (reťazec alebo súbor obsahujúci objekt JSON) môžete použiť Pythonov jsonmodul. Pred použitím musíte modul importovať.

 import json

Analyzujte JSON v Pythone

jsonModul uľahčuje analyzovať JSON reťazca a súbory, ktoré obsahujú JSON objekt.

Príklad 1: Python JSON na diktovanie

Reťazec JSON môžete analyzovať pomocou json.loads()metódy. Metóda vráti slovník.

 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'))

Osoba je tu reťazec JSON a osoba_dikt je slovník.

Príklad 2: Python načítal súbor JSON

Môžete použiť json.load()metódu na čítanie súboru obsahujúceho objekt JSON.

Predpokladajme, že máte súbor s názvom, person.jsonktorý obsahuje objekt JSON.

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

Tento súbor môžete analyzovať takto:

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

Tu sme použili open()funkciu na načítanie súboru json. Potom je súbor analyzovaný pomocou json.load()metódy, ktorá nám poskytne slovník s názvom data.

Ak neviete, ako čítať a zapisovať súbory v Pythone, odporúčame vám skontrolovať I / O súborov Pythonu.

Python Prevod na reťazec JSON

Slovník môžete previesť na reťazec JSON pomocou json.dumps()metódy.

Príklad 3: Preveďte dict na 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) 

Tu je tabuľka ukazujúca objekty Pythonu a ich ekvivalentný prevod na JSON.

Python Ekvivalent JSON
dict objekt
list, tuple pole
str struna
int, float,int číslo
True pravda
False nepravdivé
None nulový

Zápis JSON do súboru

Na zápis JSON do súboru v Pythone môžeme použiť json.dump()metódu.

Príklad 4: Zápis JSON do súboru

  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) 

Vo vyššie uvedenom programe sme otvorili súbor s názvom person.txtv režime písania pomocou 'w'. Ak súbor ešte neexistuje, vytvorí sa. Potom sa json.dump()transformuje person_dictna reťazec JSON, ktorý sa uloží do person.txtsúboru.

Po spustení programu person.txtsa vytvorí súbor. Súbor má v sebe nasledujúci text.

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

Python pekne tlačí JSON

Na analýzu a ladenie údajov JSON bude možno potrebné vytlačiť ich v čitateľnejšom formáte. To môže byť vykonané priechodom ďalšie parametre indenta sort_keysk json.dumps()a json.dump()metódy.

Príklad 5: Python pekne tlačí 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)) 

Po spustení programu bude výstup:

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

Vo vyššie uvedenom programe sme použili 4medzery na odsadenie. Kľúče sú zoradené vzostupne.

Mimochodom, predvolená hodnota odsadenia je None. A predvolená hodnota sort_keys je False.

Odporúčané hodnoty:

  • Python JSON do CSV a naopak
  • Python XML až JSON a naopak
  • Python simplejson

Zaujímavé články...