Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menukar Data JSON ke Objek Python?

Bagaimana untuk Menukar Data JSON ke Objek Python?

Barbara Streisand
Barbara Streisandasal
2024-11-09 01:51:02723semak imbas

How to Convert JSON Data into Python Objects?

Menukar Data JSON kepada Objek Python

Bekerja dengan data JSON ialah tugas biasa dalam pembangunan web. Untuk menggunakan data JSON dengan cekap dalam aplikasi Python anda, selalunya perlu menukarnya kepada objek Python. Dalam artikel ini, kami akan menunjukkan cara untuk mencapai penukaran ini.

Paparan Django semasa anda ialah pendekatan asas untuk mengendalikan objek JSON yang mudah. Walau bagaimanapun, untuk struktur data JSON yang kompleks, pendekatan yang lebih berstruktur adalah wajar. Menukar JSON kepada objek Python membolehkan manipulasi dan penyimpanan yang lebih mudah dalam pangkalan data anda.

Dengan Python 3, anda boleh mencapai penukaran ini dalam satu baris:

import json
from types import SimpleNamespace

json_data = '{"name": "John Smith", "hometown": {"name": "New York", "id": 123}}'

# Convert JSON into a Python object with attributes corresponding to dict keys
obj = json.loads(json_data, object_hook=lambda d: SimpleNamespace(**d))

print(obj.name)  # John Smith
print(obj.hometown.name)  # New York
print(obj.hometown.id)  # 123

Dalam Python 2, penukaran prosesnya sedikit berbeza:

import json
from collections import namedtuple

json_data = '{"name": "John Smith", "hometown": {"name": "New York", "id": 123}}'

# Convert JSON into a namedtuple object
obj = json.loads(json_data, object_hook=lambda d: namedtuple('Person', d.keys())(*d.values()))

print(obj.name)  # John Smith
print(obj.hometown.name)  # New York
print(obj.hometown.id)  # 123

Dengan menggunakan teknik ini, anda boleh menukar data JSON ke objek Python dengan lancar, membolehkan manipulasi dan penyimpanan data yang cekap dalam aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Data JSON ke Objek Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn