Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar Data JSON kepada Objek Python untuk Manipulasi Lebih Mudah?

Bagaimana untuk Menukar Data JSON kepada Objek Python untuk Manipulasi Lebih Mudah?

Linda Hamilton
Linda Hamiltonasal
2024-11-16 10:44:02251semak imbas

How to Convert JSON Data to Python Objects for Easier Manipulation?

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!

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