JSON 데이터를 Python 개체로
Facebook에서 JSON 데이터를 받고 있으며 이를 데이터베이스에 유지하려고 합니다. 한 가지 옵션은 현재 수행 중인 것처럼 JSON 개체에서 필드를 수동으로 추출하는 것입니다. 그러나 이는 특히 복잡한 데이터 구조의 경우 번거로울 수 있습니다.
보다 편리한 접근 방식은 JSON 데이터를 기본 Python 객체로 변환하는 것입니다. 이는 json 모듈과 object_hook 매개변수를 사용하여 달성할 수 있습니다.
Python 3에서는 SimpleNamespace 클래스를 이 목적으로 활용할 수 있습니다.
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)
Python 2에서는 namestuple:
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
이 접근 방식은 생성된 객체의 속성으로 JSON 데이터에 액세스하는 편리한 방법을 제공하여 조작 및 저장을 단순화합니다.
위 내용은 보다 쉬운 조작을 위해 JSON 데이터를 Python 개체로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!