Python에서 `json.dumps()` 이해하기
Grace Collins
Solutions Engineer · Leapcell

Key Takeaways
json.dumps()
는 Python 객체를 JSON 형식의 문자열로 변환합니다.indent
,sort_keys
,ensure_ascii
와 같은 매개변수로 출력을 사용자 정의할 수 있습니다.- 직렬화할 수 없는 객체는 변환을 위해 사용자 정의
default
함수가 필요합니다.
JSON (JavaScript Object Notation) 데이터 작업은 Python 개발, 특히 웹 개발, 데이터 교환 및 API에서 일반적인 작업입니다. Python에 내장된 json
모듈은 JSON 데이터를 처리하는 다양한 메서드를 제공합니다. 가장 자주 사용되는 함수 중 하나는 json.dumps()
입니다. 이 기사에서는 json.dumps()
가 수행하는 작업, 사용 방법 및 출력을 사용자 정의하는 데 도움이 되는 몇 가지 유용한 매개변수를 설명합니다.
json.dumps()
란 무엇입니까?
Python의 json.dumps()
함수는 Python 객체를 JSON 형식의 문자열로 변환하는 데 사용됩니다. dumps
의 "s"는 "dump string"을 의미합니다. JSON 데이터를 파일에 직접 쓰는 json.dump()
와 달리 dumps()
는 JSON 데이터를 문자열로 반환하므로 JSON 데이터를 저장하거나 전송해야 할 때 유용합니다.
기본 사용법
json.dumps()
를 사용하는 간단한 예는 다음과 같습니다.
import json data = { "name": "Alice", "age": 30, "is_student": False } json_string = json.dumps(data) print(json_string)
출력:
{"name": "Alice", "age": 30, "is_student": false}
Python의 False
가 JSON의 false
로 변환되고 키가 큰따옴표로 묶인 것을 확인하십시오.
일반적인 매개변수
json.dumps()
는 출력을 사용자 정의할 수 있는 몇 가지 선택적 매개변수를 허용합니다.
1. indent
JSON 문자열을 더 읽기 쉽게 만들기 위해 들여쓰기를 추가합니다.
json_string = json.dumps(data, indent=4) print(json_string)
출력:
{ "name": "Alice", "age": 30, "is_student": false }
2. sort_keys
출력에서 키를 알파벳순으로 정렬합니다.
json_string = json.dumps(data, sort_keys=True) print(json_string)
출력:
{"age": 30, "is_student": false, "name": "Alice"}
3. separators
항목 및 키-값 구분 기호를 제어합니다. 기본값은 (", ", ": ")
이지만 더 간결하게 만들 수 있습니다.
json_string = json.dumps(data, separators=(",", ":")) print(json_string)
출력:
{"name":"Alice","age":30,"is_student":false}
4. ensure_ascii
기본적으로 모든 비 ASCII 문자는 이스케이프됩니다. 유니 코드 문자를 있는 그대로 출력하려면:
data = {"name": "Alice"} json_string = json.dumps(data, ensure_ascii=False) print(json_string)
출력:
{"name": "Alice"}
직렬화할 수 없는 객체 처리
일부 Python 객체 (예: 집합, 사용자 정의 클래스, datetime 객체)는 기본적으로 직렬화할 수 없습니다. default
매개변수를 사용하여 처리 할 수 있습니다.
from datetime import datetime def serialize_obj(obj): if isinstance(obj, datetime): return obj.isoformat() raise TypeError("Type not serializable") data = {"created": datetime.now()} json_string = json.dumps(data, default=serialize_obj) print(json_string)
결론
json.dumps()
함수는 복잡한 데이터 구조를 JSON 형식의 문자열로 변환하는 Python의 강력한 도구입니다. 데이터를 기록하거나 저장하거나 네트워크를 통해 전송하든 json.dumps()
를 사용자 정의하는 방법을 이해하면 데이터 표현에 대한 유연성과 제어력을 얻을 수 있습니다.
FAQs
json.dump()
는 파일에 쓰고, json.dumps()
는 JSON 문자열을 반환합니다.
indent
매개변수를 사용하여 줄 바꿈과 공백으로 JSON 문자열의 형식을 지정합니다.
기본적으로는 아닙니다. default
매개변수를 사용하여 이러한 객체를 직렬화하는 방법을 정의합니다.
저희는 백엔드 프로젝트 호스팅을 위한 최고의 선택, Leapcell입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하십시오.
무제한 프로젝트를 무료로 배포
- 사용량에 대해서만 지불하십시오. 요청이나 요금이 없습니다.
탁월한 비용 효율성
- 유휴 요금없이 사용량에 따라 지불하십시오.
- 예 : $25는 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅
손쉬운 확장성과 고성능
- 쉬운 동시성 처리를 위한 자동 확장
- 제로 운영 오버헤드. 구축에만 집중하십시오.
설명서에서 자세히 알아보십시오!
X에서 저희를 팔로우하세요: @LeapcellHQ