"json.dumps" 사용 시 JSON 키 순서 불일치
Python에서 JSON 변환에는 변환을 위해 "json.dumps"를 활용하는 경우가 많습니다. 사전을 JSON 개체로 변환합니다. 그러나 사용자는 예상 순서(ID, 이름, 시간대)가 실제 출력(시간대, ID, 이름)과 다르기 때문에 결과 JSON 키 순서에서 불일치가 발생할 수 있습니다.
이 문제를 해결하고 원하는 키 순서에 대해 두 가지 접근 방식을 사용할 수 있습니다:
1. "sort_keys" 매개변수 활용:
"sort_keys" 매개변수를 True로 설정하면 JSON 키가 알파벳순으로 정렬됩니다. 예를 들어, 다음 코드 조각은 원하는 키 순서를 산출합니다:
<code class="python">import json countries = [] countries.append({"id": 1, "name": "Mauritius", "timezone": 4}) countries.append({"id": 2, "name": "France", "timezone": 2}) countries.append({"id": 3, "name": "England", "timezone": 1}) countries.append({"id": 4, "name": "USA", "timezone": -4}) json_data = json.dumps(countries, sort_keys=True) print(json_data)</code>
2. OrderedDict 사용:
Python의 "collections.OrderedDict"는 키 삽입 순서를 유지합니다. OrderedDict를 활용하면 예상되는 키 순서를 얻을 수 있습니다.
<code class="python">from collections import OrderedDict countries = OrderedDict() countries["id"] = 1 countries["name"] = "Mauritius" countries["timezone"] = 4 json_data = json.dumps(countries) print(json_data)</code>
Python 3.6 이상에서는 키워드 인수 순서가 기본적으로 유지되어 보다 간결한 구문이 가능합니다.
<code class="python">json_data = json.dumps(OrderedDict(id=1, name="Mauritius", timezone=4)) print(json_data)</code>
마지막으로 JSON 입력의 경우 "object_pair_hook" 매개변수를 사용하여 개체 순서를 유지하고 OrderedDict를 생성할 수 있습니다.
<code class="python">import json json_data = json.loads('{"id": 1, "name": "Mauritius", "timezone": 4}', object_pairs_hook=OrderedDict) print(json_data)</code>
위 내용은 Python의 `json.dumps`로 JSON 키 순서를 제어하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!