Python JSON: lugemine, kirjutamine, parsimine JSON (koos näidetega)

Selles õpetuses õpitakse näidete abil Pythonis JSON-i sõeluma, lugema ja kirjutama. Samuti õpid teisendama JSON-i dikteerimiseks ja ilusa printimise.

JSON ( J ava S cript O bject N otation) on populaarne andmeformaadis kasutatakse esindavad struktureeritud andmed. Andmete edastamine ja vastuvõtmine serveri ja veebirakenduse vahel on JSON-vormingus tavaline.

Pythonis eksisteerib JSON stringina. Näiteks:

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

Samuti on tavaline JSON-objekti faili salvestamine.

Import jsoni moodul

JSON-iga (string või JSON-objekti sisaldav fail) töötamiseks võite kasutada Pythoni jsonmoodulit. Enne selle kasutamist peate mooduli importima.

 import json

Sõeluge JSON Pythonis

jsonMoodul on lihtne sõeluda JSON stringid ja faile, mis sisaldavad JSON objekti.

Näide 1: dikteerimiseks Python JSON

JSON-i stringi saab sõeluda json.loads()meetodi abil. Meetod tagastab sõnaraamatu.

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

Siin on inimene JSON-string ja person_dict on sõnastik.

Näide 2: Python luges JSON-faili

json.load()Meetodit saate kasutada JSON-objekti sisaldava faili lugemiseks.

Oletame, et teil on fail nimega person.jsonJSON.

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

Selle faili sõelumiseks tehke järgmist.

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

Siin oleme open()funktsiooni kasutanud jsoni faili lugemiseks. Seejärel sõelutakse fail json.load()meetodi abil, mis annab meile sõnastik nimega andmed.

Kui te ei tea, kuidas Pythonis faile lugeda ja kirjutada, soovitame teil kontrollida Pythoni failide I / O-d.

Pythoni teisendamine JSON-stringiks

json.dumps()Meetodi abil saate sõnastiku teisendada JSON-stringiks .

Näide 3: teisenda diktsion JSON-iks

  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) 

Siin on tabel, mis näitab Pythoni objekte ja nende samaväärset teisendamist JSON-iks.

Python JSONi ekvivalent
dict objekt
list, tuple massiiv
str string
int, float,int number
True tõsi
False vale
None null

JSON-i kirjutamine faili

JSONi kirjutamiseks Pythoni faili saame kasutada json.dump()meetodit.

Näide 4: JSON-i kirjutamine faili

  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) 

In the above program, we have opened a file named person.txt in writing mode using 'w'. If the file doesn't already exist, it will be created. Then, json.dump() transforms person_dict to a JSON string which will be saved in the person.txt file.

When you run the program, the person.txt file will be created. The file has following text inside it.

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

Python pretty print JSON

To analyze and debug JSON data, we may need to print it in a more readable format. This can be done by passing additional parameters indent and sort_keys to json.dumps() and json.dump() method.

Example 5: Python pretty print 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)) 

When you run the program, the output will be:

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

Ülaltoodud programmis oleme 4taandamiseks kasutanud tühikuid. Ja võtmed on järjestatud kasvavas järjekorras.

Muide, taande vaikeväärtus on None. Ja sort_keys vaikeväärtus on False.

Soovitatavad lugemised:

  • Python JSON CSV-le ja vastupidi
  • Pythoni XML-i JSON-ile ja vastupidi
  • Python simplejson

Huvitavad Artiklid...