본문 바로가기
programming/Python

파이썬 json 문자열 정렬하기 using python json string sort

by 개코 - 개발과 코딩 2021. 12. 16.

파이썬에 json 문자열을 표시할 때 정렬을 할 수 있다. json.dumps() 메서드의 sort_keys 인자값으로 이 값에 true 를 설정하면 json 문자열을 key 를 중심으로 오름차순하여 화면에 출력된다. 데이터를 찾을 때 용이할 수 있다. 사용하지 않을 경우 기본값은 false 이며 내림차순이 아닌 json 객체가 문자열로 변환된 값 그대로 출력된다.

파이썬 json 문자열 정렬하기
using python json string sort

파이썬으로 json 문자열을 다룰 때 데이터가 뒤죽박죽인 것이 불편할 때가 있다.

이것을 순서대로 정렬하면 오름차순으로 정렬된 데이터를 찾아서 볼 수 있다.

많이 사용할 일은 없겠지만 수많은 데이터 처리시 데이터를 정리해서 보면 보기는 편할 것이다.

물론 찾는 것이 목적이지만 말이다.

아마 개발자라면 찾는 것보다 검색하는 것이 빠르겠지만 말이다.

sort_keys 정렬하기

json.dumps() 메서드의 인자값 중 sort_keys 가 있다.

이 인자값은 json 문자열의 key 들을 오름차순으로 정렬하는 기능을 가진다.

기본값은 false 로 json 객체 그대로 표시한다.

만약 json 문자열의 key 들을 오름차순으로 보고 싶다면 sort_keys 에 대해 옵션을 주면 된다.

impport json

json.dumps(jsonObject, sort_keys=true)

샘플코드

위의 사용방법을 따라 sort_keys 옵션으로 json 문자열의 key 들을 오름차순하여 데이터를 살펴본다.

이전에 사용한 코드를 그대로 사용해 본다.

json.dumps() 메서드의 인자값으로 sort_keys 를 주면 되기 때문에 어려운 것은 없다.

코드가 길어 보이지만 sort_keys 부분과 결과화면만 보도록 하자.

print("----------")

import json

vData = {
    "comp" : "현대자동차",
    "order" : "인기순",
    "list" : [
        { "type" : "중형", "name" : "싼타페"},
        { "type" : "경형", "name" : "캐스퍼"},
        { "type" : "중형", "name" : "그랜저"},
        { "type" : "준중형", "name" : "아반떼"}
    ]
}

print(type(vData), vData)

print("----------")

vStr = json.dumps(vData, indent=4)
print(type(vStr), vStr)

vdump = json.dumps(vData, indent=4, sort_keys=True)
print(type(vdump), vdump)

print("----------")

sort_keys = true 를 주면 json 문자열은 key 를 중심으로 오름차순으로 정렬되어 볼 수 있다.

결과화면을 보자.

왼쪽 이미지가 sort_keys=true 인자값을 준 결과이다.

key 값들이 오름차순으로 정렬되어 데이터가 출력되고 있다.

반응형

댓글