Lucrul cu date JSON în Python
JSON (JavaScript Object Notation) este un format de date ușor utilizat pentru schimbul de date între un server și un client. Este folosit în mod obișnuit în aplicațiile web pentru a trimite și a primi date. Python oferă un modul încorporat numit json
care facilitează lucrul cu date JSON. Acest articol vă va ghida prin elementele de bază ale lucrului cu date JSON în Python, inclusiv citirea, scrierea și manipularea obiectelor JSON.
Ce este JSON?
JSON este un format bazat pe text care este ușor de citit și de scris atât pentru oameni, cât și pentru mașini. Este format din perechi cheie-valoare, similare dicționarelor Python. Un obiect JSON tipic arată astfel:
{
"name": "Alice",
"age": 30,
"city": "New York",
"is_student": false,
"skills": ["Python", "JavaScript", "SQL"]
}
Importul modulului JSON
Modulul json
este inclus în biblioteca standard a lui Python, deci nu trebuie să instalați nimic. Pur și simplu importați-l la începutul scriptului dvs.:
import json
Citirea datelor JSON
Puteți citi date JSON dintr-un șir sau dintr-un fișier. Metoda json.loads()
este folosită pentru a analiza date JSON dintr-un șir, în timp ce json.load()
este folosit pentru a citi datele JSON dintr-un fișier.
Citirea JSON dintr-un șir
Pentru a citi JSON dintr-un șir, utilizați metoda json.loads()
, care convertește șirul JSON într-un dicționar Python.
# Example of reading JSON from a string
json_string = '{"name": "Alice", "age": 30, "city": "New York"}'
data = json.loads(json_string)
print(data)
print(data['name']) # Output: Alice
Citirea JSON dintr-un fișier
Pentru a citi date JSON dintr-un fișier, utilizați metoda json.load()
. Această metodă citește conținutul unui fișier și îl convertește într-un dicționar Python.
# Example of reading JSON from a file
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
Scrierea datelor JSON
Puteți scrie date JSON într-un șir sau într-un fișier. Metoda json.dumps()
este folosită pentru a converti un obiect Python într-un șir JSON, în timp ce json.dump()
este folosit pentru a scrie date JSON într-un fișier.
Scrierea JSON într-un șir
Pentru a scrie JSON într-un șir, utilizați metoda json.dumps()
, care convertește un dicționar Python într-un șir JSON.
# Example of writing JSON to a string
data = {
"name": "Bob",
"age": 25,
"city": "Los Angeles"
}
json_string = json.dumps(data)
print(json_string)
Scrierea JSON într-un fișier
Pentru a scrie date JSON într-un fișier, utilizați metoda json.dump()
. Această metodă preia un obiect Python și îl scrie într-un fișier în format JSON.
# Example of writing JSON to a file
data = {
"name": "Bob",
"age": 25,
"city": "Los Angeles"
}
with open('output.json', 'w') as file:
json.dump(data, file)
Pretty-Printing JSON Data
Metoda json.dumps()
are mai mulți parametri care vă permit să formatați datele JSON pentru o mai bună lizibilitate. Parametrul indent
specifică numărul de spații de utilizat pentru indentare, în timp ce parametrul sort_keys
sortează cheile în ieșire.
# Example of pretty-printing JSON data
data = {
"name": "Charlie",
"age": 35,
"city": "Chicago"
}
json_string = json.dumps(data, indent=4, sort_keys=True)
print(json_string)
Conversia între tipurile de date JSON și Python
Modulul json
al lui Python poate gestiona diferite tipuri de date și le poate converti între JSON și Python. Iată o referință rapidă:
dict
(Python) laobiect
(JSON)list
(Python) laarray
(JSON)str
(Python) lastring
(JSON)int
,float
(Python) lanumber
(JSON)True
,False
(Python) latrue
,false
(JSON)Niciunul
(Python) lanull
(JSON)
Gestionarea erorilor JSON
În timpul lucrului cu JSON, pot apărea erori din cauza formatării incorecte sau a datelor neașteptate. Modulul json
ridică excepții precum JSONDecodeError
atunci când întâmpină astfel de probleme. Folosiți blocurile try
și except
pentru a gestiona aceste erori cu grație.
# Handling JSON errors
json_string = '{"name": "Alice", "age": 30, "city": "New York"' # Missing closing brace
try:
data = json.loads(json_string)
except json.JSONDecodeError as e:
print(f"Error decoding JSON: {e}")
Concluzie
Lucrul cu date JSON este o abilitate fundamentală pentru dezvoltatorii Python, în special în dezvoltarea web și știința datelor. Modulul json
oferă metode ușor de utilizat pentru citirea, scrierea și manipularea datelor JSON. Stăpânind aceste tehnici, puteți gestiona eficient datele JSON în aplicațiile dvs. Python.