--- id: python-json title: "Python JSON" category: "Programming_Language" status: "draft" verification_status: "conceptual" canonical_id: "" aliases: ["json.loads", "json.dumps", "파이썬 제이슨"] duplicate_of: "" source_trust_level: "B" confidence_score: 0.9 created_at: 2026-07-04 updated_at: 2026-07-04 review_reason: "" merge_history: [] tags: ["python", "programming", "w3schools", "json"] raw_sources: ["https://www.w3schools.com/python/python_json.asp"] applied_in: [] github_commit: "" --- # [[Python JSON]] ## 🎯 한 줄 통찰 (One-line insight) `json.loads()` parses a JSON string into a Python dict, `json.dumps()` does the reverse — and the type mapping isn't 1:1: both Python `list` and `tuple` collapse to a JSON `Array`, since JSON has no separate concept of an immutable sequence. [S1] ## 🧠 핵심 개념 (Core concepts) - **`json` module** — Python's built-in package for working with JSON data. [S1] - **`json.loads(string)`** — parses a JSON string into a Python dictionary. [S1] - **`json.dumps(obj)`** — converts a Python object into a JSON string. [S1] - **Convertible Python types** — dict, list, tuple, string, int, float, True, False, None. [S1] - **Type mapping (Python → JSON)** — dict→Object, list→Array, tuple→Array, str→String, int/float→Number, True/False→true/false, None→null. [S1] - **Formatting parameters** — `indent` (pretty-print spacing), `separators` (custom item/key separators), `sort_keys` (order keys alphabetically). [S1] ## 🧩 추출된 패턴 (Extracted patterns) - **list and tuple both become Array** — the type mapping table shows JSON has no equivalent of Python's mutable/immutable sequence distinction, so information about "was this a tuple or a list" is lost on serialization. [S1] ## 📖 세부 내용 (Details) - Parse JSON: `x = '{ "name":"John", "age":30 }'; y = json.loads(x); print(y["age"])`. [S1] - Serialize to JSON: `x = {"name": "John", "age": 30}; y = json.dumps(x)`. [S1] - Pretty-print: `json.dumps(x, indent=4)`. [S1] - Custom separators: `json.dumps(x, indent=4, separators=(". ", " = "))`. [S1] - Sorted keys: `json.dumps(x, indent=4, sort_keys=True)`. [S1] ## ⚖️ 모순 및 업데이트 (Contradictions & updates) 소스에서 모순되는 정보는 발견되지 않음. list/tuple이 모두 Array로 변환된다는 점이 표에서 명시적으로 드러남. [S1] ## 🛠️ 적용 사례 (Applied in summary) 현재 발견된 실제 적용 사례가 없습니다 — Python Dictionaries Nested 챕터의 중첩 구조가 JSON 직렬화의 자연스러운 대상이다. [S1] ## 💻 코드 패턴 (Code patterns) Round-trip parse and serialize (Python): ```python import json x = '{ "name":"John", "age":30, "city":"New York"}' y = json.loads(x) print(y["age"]) z = json.dumps(y, indent=4, sort_keys=True) print(z) ``` ## ✅ 검증 상태 및 신뢰도 - **상태:** draft - **검증 단계:** conceptual - **출처 신뢰도:** B (W3Schools — widely used educational reference, not a primary standards body) - **신뢰 점수:** 0.90 - **중복 검사 결과:** 신규 생성 (New discovery) ## 🔗 지식 그래프 (Knowledge Graph) - **상위/루트:** [[Python Tutorial]] - **관련 개념:** [[Python Dictionaries Nested]], [[Python Modules]], [[JSON]] - **참조 맥락:** 데이터 교환 포맷의 표준 도구 — 중첩 딕셔너리와 자연스럽게 결합된다. ## 📚 출처 (Sources) - [S1] W3Schools — Python JSON — https://www.w3schools.com/python/python_json.asp ## 📝 변경 이력 (Change history) - 2026-07-04: Initial draft synthesized from the W3Schools "Python JSON" page (Astra wiki-curation, P-Reinforce v3.1 format).