"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python 라이브러리를 사용하여 JSON 개체의 키 순서를 어떻게 유지할 수 있나요?

Python 라이브러리를 사용하여 JSON 개체의 키 순서를 어떻게 유지할 수 있나요?

2024-11-08에 게시됨
검색:888

How Can I Maintain the Order of Keys in JSON Objects Using Python Libraries?

Python 라이브러리를 사용하여 JSON 개체 속성의 순서 유지

json.dumps를 사용하여 Python 개체를 JSON 문자열로 변환할 때, 출력 JSON 객체의 키 순서가 입력 Python 객체의 원래 키 순서와 일치하지 않을 수 있습니다. 특정 키 순서가 필요한 경우 문제가 될 수 있습니다.

이 문제를 해결하려면 JSON 개체에서 키 순서를 유지 관리하는 기능을 제공하는 특정 Python 라이브러리를 활용할 수 있습니다.

sort_keys 매개변수 사용

한 가지 간단한 해결책은 json.dumps와 함께 sort_keys 매개변수를 사용하는 것입니다. sort_keys를 True로 설정하면 출력 JSON 객체의 키가 알파벳 오름차순으로 정렬됩니다.

import json

json_string = json.dumps({'a': 1, 'b': 2}, sort_keys=True)
print(json_string)  # Output: '{"a": 1, "b": 2}'

collections.OrderedDict 사용

키 순서를 지정하려면 collections.OrderedDict 클래스를 사용할 수 있습니다. OrderedDict는 키-값 쌍의 삽입 순서를 유지하여 결과 JSON 객체의 키 순서가 키-값 쌍이 OrderedDict에 추가된 순서와 동일하도록 보장합니다.

from collections import OrderedDict

json_string = json.dumps(OrderedDict([('a', 1), ('b', 2)]))
print(json_string)  # Output: '{"a": 1, "b": 2}'

입력 JSON에서 키 순서 유지

입력이 다음과 같은 경우 JSON 형식에서는 json.loads의 object_pairs_hook 매개변수를 사용하여 JSON 객체의 각 키-값 쌍에 대해 호출될 함수를 지정할 수 있습니다. 이를 통해 OrderedDict를 생성하여 키 순서를 유지할 수 있습니다.

import json

json_string = '{"a": 1, "b": 2}'
parsed_json = json.loads(json_string, object_pairs_hook=OrderedDict)
print(parsed_json)  # Output: OrderedDict([('a', 1), ('b', 2)])

이러한 기술을 활용하면 JSON 개체의 속성 순서가 다음과 같은지 확인할 수 있습니다. 원하는 순서와 일치하여 Python에서 JSON 개체에 대한 더 큰 유연성과 제어 기능을 제공합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3