파이썬에서 함수가 JSON 객체를 반환하도록 하려면 json 모듈의 dumps() 함수를 활용하면 됩니다. 파이썬 딕셔너리(dict)는 JSON과 구조가 매우 유사하기 때문에, json.dumps()를 사용하면 딕셔너리를 손쉽게 JSON 형식의 문자열로 직렬화(serialize)할 수 있습니다.
기본 예제
아래 예제는 파이썬 딕셔너리를 JSON 문자열로 변환하여 반환하는 함수를 보여줍니다.
import json
# 파이썬 딕셔너리
a = {'name': 'Sarah', 'age': 24, 'isEmployed': True}
def retjson():
# 딕셔너리를 JSON 문자열로 변환
python2json = json.dumps(a)
return python2json
result = retjson()
print(result)실행 결과
{"age": 24, "isEmployed": true, "name": "Sarah"}주요 포인트
json.dumps()는 파이썬 객체(딕셔너리, 리스트 등)를 JSON 문자열로 변환합니다.- 반환된 값은 JSON 형식의 문자열이며, 실제로 HTTP 응답이나 파일 저장에 바로 사용할 수 있습니다.
- 파이썬의
True/False는 JSON에서true/false로 자동 변환됩니다.
읽기 쉬운 JSON 만들기
indent 옵션을 추가하면 들여쓰기가 적용되어 사람이 읽기 편한 형태로 출력할 수 있습니다.
json.dumps(a, indent=4)
역변환: JSON을 파이썬 객체로
반대로 JSON 문자열을 다시 파이썬 딕셔너리로 변환하려면 json.loads()를 사용합니다.
python_obj = json.loads(python2json) print(python_obj['name']) # Sarah
이처럼 dumps()와 loads() 두 함수만 기억하면 파이썬과 JSON 간의 데이터 변환을 자유롭게 처리할 수 있습니다.