Python 딕셔너리를 JSON 형식으로 출력하기
JSON(JavaScript Object Notation)은 데이터를 저장하고 교환하기 위한 경량의 텍스트 기반 데이터 형식입니다. 사람이 읽기 쉬우면서도 기계가 파싱하기 용이하여 웹 API와 설정 파일 등에서 널리 사용됩니다.
Python에서는 표준 라이브러리에 포함된 json 모듈을 통해 JSON 인코딩(직렬화)과 디코딩(역직렬화)을 손쉽게 처리할 수 있습니다. 특히 json 모듈의 dumps() 함수를 사용하면 Python 딕셔너리 객체를 JSON 문자열로 변환할 수 있습니다.
json.dumps() 함수 사용 예제
아래 예제는 딕셔너리 객체를 json.dumps() 함수에 전달하여 JSON 형식의 문자열로 변환하는 과정을 보여줍니다.
D1 = {"pen": 25, "pencil": 10, "book": 100, "sharpner": 5, "eraser": 5}
>>> import json
>>> j = json.dumps(D1)
>>> print(j)
{"pen": 25, "pencil": 10, "book": 100, "sharpner": 5, "eraser": 5}보기 좋게 들여쓰기 적용하기
dumps() 함수에 indent 매개변수를 지정하면 들여쓰기가 적용된 가독성 높은 JSON 문자열을 얻을 수 있습니다.
>>> import json
>>> j = json.dumps(D1, indent=4)
>>> print(j)
{
"pen": 25,
"pencil": 10,
"book": 100,
"sharpner": 5,
"eraser": 5
}정리
json.dumps()는 Python 객체를 JSON 문자열로 직렬화하는 대표적인 방법입니다. 반대로 JSON 문자열을 Python 객체로 변환하려면 json.loads() 함수를 사용하면 됩니다. 이 두 함수를 활용하면 Python과 외부 시스템 간의 데이터 교환을 쉽게 구현할 수 있습니다.