도와주세요) OrderedDict에 JSON을 불러오는법 문의합니다
조회수 3231회
발생하는 문제 및 실행환경
json.dump
에서 OrderedDict
를 쓸 수 있으니 OrderedDict
를 JSON의 input으로 쓸 수 있는건 알겠는데
반대로 output으로 쓰려면 어떻게 해야 될까요?
1 답변
-
JSONDecoder에서 인자
object_pairs_hook
를 쓰면 가능합니다.>>> json.JSONDecoder(object_pairs_hook=collections.OrderedDict).decode('{"foo":1, "bar": 2}') 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 json.dumps(data, indent=4) { "foo": 1, "bar": 2 } >>>
json.load에서도 비슷한 방법을 쓸 수 있습니다.
>>> data = json.load(open('config.json'), object_pairs_hook=OrderedDict)
댓글 입력