질문:
JSON 데이터를 OrderedDict에 로드하는 것이 가능합니까? 원래 순서 키?
답변:
예, JSONDecoder 클래스의 object_pairs_hook 인수를 사용하여 JSON을 OrderedDict에 로드할 수 있습니다. 이 인수는 디코딩된 JSON 데이터에서 객체를 구성하기 위해 호출할 함수를 지정합니다.
collections.OrderedDict를 object_pairs_hook 인수로 전달하면 결과 객체가 OrderedDict임을 보장하고 순서를 보존할 수 있습니다. 키를 JSON 데이터에 저장합니다.
이 인수를 사용하는 방법은 다음과 같습니다. json.JSONDecoder:
decoder = json.JSONDecoder(object_pairs_hook=collections.OrderedDict) data = decoder.decode('{"foo":1, "bar": 2}') print(data)
이렇게 하면 JSON 데이터에 표시된 것과 동일한 순서로 키가 포함된 OrderedDict가 출력됩니다.
OrderedDict([('foo', 1), ('bar', 2)])
이 인수를 json과 함께 사용할 수도 있습니다. .loads를 사용하여 동일한 결과를 얻을 수 있습니다.
import json from collections import OrderedDict data = json.loads('{"foo":1, "bar": 2}', object_pairs_hook=OrderedDict) print(data)
마지막으로 이 인수를 json.load와 함께 사용할 수 있습니다. 파일의 데이터를 OrderedDict로 로드하려면:
data = json.load(open('config.json'), object_pairs_hook=OrderedDict)
위 내용은 키 순서를 유지하면서 JSON 데이터를 OrderedDict에 로드할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!