Data JSON ke Objek Python
Anda menerima data JSON daripada Facebook dan mahu mengekalkannya dalam pangkalan data anda. Satu pilihan ialah mengekstrak medan secara manual daripada objek JSON, seperti yang anda lakukan sekarang. Walau bagaimanapun, ini boleh menjadi menyusahkan, terutamanya untuk struktur data yang kompleks.
Pendekatan yang lebih mudah ialah menukar data JSON kepada objek Python asli. Ini boleh dicapai menggunakan modul json dan parameter object_hook.
Dalam Python 3, anda boleh menggunakan kelas SimpleNamespace untuk tujuan ini:
import json from types import SimpleNamespace data = {'name': 'John Smith', 'hometown': {'name': 'New York', 'id': 123}} x = json.loads(data, object_hook=lambda d: SimpleNamespace(**d)) print(x.name, x.hometown.name, x.hometown.id)
Dalam Python 2, anda boleh menggunakan namedtuple:
import json from collections import namedtuple data = {'name': 'John Smith', 'hometown': {'name': 'New York', 'id': 123}} x = json.loads(data, object_hook=lambda d: namedtuple('X', d.keys())(*d.values())) print x.name, x.hometown.name, x.hometown.id
Pendekatan ini menyediakan cara yang mudah untuk mengakses data JSON sebagai atribut objek yang dicipta, memudahkan manipulasi dan penyimpanannya.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Data JSON kepada Objek Python untuk Manipulasi Lebih Mudah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!