Python JSON 파서 및 유효성 검사기
Python에서 JSON을 읽고, 검증하고, 수정하고, 직렬화하는 방법을 알아보세요. 현실적인 예제를 통해 내장된 json 라이브러리를 마스터하세요.
개요
JSON(JavaScript Object Notation)은 웹에서 데이터를 교환하기 위한 표준 형식입니다. Python은 JSON 문자열을 Python 사전으로 또는 그 반대로 변환하는 'json'이라는 강력한 내장 모듈을 제공합니다.
이 모듈은 JSON 문자열을 직접 처리하기 위한 `loads` 및 `dumps`, 파일 스트림에서 직접 데이터를 쓰거나 읽기 위한 `load` 및 `dump`라는 두 가지 주요 작업 세트를 노출합니다.
JSON으로 작업할 때는 오류 처리가 중요합니다. Python은 문자열 구문이 손상되면 'json.JSONDecodeError'를 발생시킵니다. 이는 공개 API에서 페이로드를 사용할 때 잡아내는 데 필수적입니다.
코드 및 실행 출력
JSON 문자열 유효성 검사, dict 구문 분석, 수정 및 예쁜 인쇄를 보여주는 스크립트입니다.
json_demo.py
에디터에서 사용해 보세요import json
raw_json = """
{
"status": "success",
"data": {
"user_id": 9042,
"username": "coder_xyz",
"roles": ["admin", "developer"],
"verified": true
}
}
"""
try:
# Parsing JSON string into Python dict
data = json.loads(raw_json)
print("--- JSON Decoded Successfully ---")
print(f"Username: {data['data']['username']}")
print(f"Is Admin: {'admin' in data['data']['roles']}")
# Mutating Python dict
data['data']['verified'] = False
data['data']['last_login'] = "2026-05-25"
# Serializing dict back to formatted JSON
pretty_json = json.dumps(data, indent=4)
print("\n--- Modified JSON String ---")
print(pretty_json)
except json.JSONDecodeError as e:
print(f"Invalid JSON Format: {e}")터미널 출력
--- JSON Decoded Successfully ---
Username: coder_xyz
Is Admin: True
--- Modified JSON String ---
{
"status": "success",
"data": {
"user_id": 9042,
"username": "coder_xyz",
"roles": [
"admin",
"developer"
],
"verified": false,
"last_login": "2026-05-25"
}
}단계별 구현
- 애플리케이션 구성 및 자격 증명 파일 읽기
- REST API 엔드포인트의 응답 구문 분석
- 데스크탑 유틸리티에 프로그램 상태 또는 레벨 저장
자주 묻는 질문
Python에서 덤프와 덤프의 차이점은 무엇입니까?
`dumps`는 객체를 JSON 문자열 형식으로 직렬화하는 반면 `dump`는 직렬화된 JSON 스트림을 쓰기 가능한 파일 객체에 직접 씁니다.
Python은 JSON null 값을 어떻게 처리합니까?
Python의 `json` 디코더는 JSON `null`을 `None`으로, `true`와 `false`를 `True`와 `False`로, 배열을 목록으로 자동 매핑합니다.