728x90
반응형
질문 : OrderedDict에 JSON을로드 할 수 있습니까?
json.dump
에서 OrderedDict를 사용할 수 있습니다. 즉, OrderedDict를 JSON에 대한 입력으로 사용할 수 있습니다.
그러나 출력으로 사용할 수 있습니까? 그렇다면 어떻게? 제 경우에는 파일의 키 순서를 유지할 수 있도록 OrderedDict load
그렇지 않은 경우 해결 방법이 있습니까?
답변
그래 넌 할수있어. JSONDecoder에 object_pairs_hook
인수를 지정합니다. 실제로 이것은 문서에 제공된 정확한 예입니다.
>>> json.JSONDecoder(object_pairs_hook=collections.OrderedDict).decode('{"foo":1, "bar": 2}')
OrderedDict([('foo', 1), ('bar', 2)])
>>>
다음과 같이이 매개 변수를 json.loads
전달할 수 있습니다 (다른 용도로 Decoder 인스턴스가 필요하지 않은 경우).
>>> import json
>>> from collections import OrderedDict
>>> data = json.loads('{"foo":1, "bar": 2}', object_pairs_hook=OrderedDict)
>>> print json.dumps(data, indent=4)
{
"foo": 1,
"bar": 2
}
>>>
json.load
사용도 같은 방식으로 수행됩니다.
>>> data = json.load(open('config.json'), object_pairs_hook=OrderedDict)
출처 : https://stackoverflow.com/questions/6921699/can-i-get-json-to-load-into-an-ordereddict
728x90
반응형
'프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬에서 오늘 날짜를 YYYY-MM-DD 형태로 얻는 방법 (0) | 2021.08.30 |
---|---|
Python에서 dictionary의 임의 요소 액세스 (0) | 2021.08.28 |
파이썬에서 작은 따옴표와 큰 따옴표 비교 (0) | 2021.08.27 |
Python에서 목록을 균등 한 크기의 청크로 반복하는 방법 (0) | 2021.08.27 |
Python 모듈 datetime을 사용하여 현재 날짜로부터 6 개월의 날짜를 계산하는 방법 (0) | 2021.08.26 |