Python의 json 모듈을 사용하면 딕셔너리(dict) 객체를 JSON 형식의 문자열로 간단하게 변환할 수 있습니다. 이 모듈은 파이썬 표준 라이브러리에 포함되어 있어 별도의 설치 과정 없이 바로 import해서 사용할 수 있습니다.
기본 사용 예제
json.dumps() 함수에 딕셔너리를 전달하면 해당 데이터를 JSON 문자열로 직렬화해 줍니다.
import json
my_dict = {
'foo': 42,
'bar': {
'baz': "Hello",
'poo': 124.2
}
}
my_json = json.dumps(my_dict)
print(my_json)출력
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
'{"foo": 42, "bar": {"baz": "Hello", "poo": 124.2}}'indent 옵션으로 보기 좋게 출력하기
json.dumps() 함수에 indent 인자를 추가로 전달하면, 들여쓰기가 적용된 읽기 쉬운 형태(pretty print)로 JSON을 출력할 수 있습니다. 로그 확인이나 디버깅 시 특히 유용합니다.
import json
my_dict = {
'foo': 42,
'bar': {
'baz': "Hello",
'poo': 124.2
}
}
my_json = json.dumps(my_dict, indent=2)
print(my_json)출력
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
{
"foo": 42,
"bar":
{
"baz": "Hello",
"poo": 124.2
}
}참고: 한글 데이터를 출력할 때
딕셔너리에 한글이 포함된 경우 기본 설정에서는 유니코드 이스케이프 문자(\uXXXX)로 변환됩니다. 한글을 그대로 출력하려면 ensure_ascii=False 옵션을 함께 사용하면 됩니다.
json.dumps({'name': '홍길동'}, ensure_ascii=False, indent=2)