파이썬과 자바스크립트의 데이터 구문은 모양은 거의 동일하나, 명칭과 세부 규칙이 조금 다릅니다.
| 데이터 종류 | JSON | 파이썬 (Python) | 자바스크립트 (JS) |
|---|---|---|---|
| 숫자 | 숫자 | int, float | number |
| 문자열 | "" (쌍따옴표) | str | string |
| 리스트/배열 | [] | list | array |
| 객체/딕셔너리 | {name:value} | dict | object |
| 논리값 | true / false | bool (True/False) | boolean |
| 빈 값 | null | None | null |
") 사용: name(key)과 문자열 데이터는 반드시 쌍따옴표로 감싸야 합니다.,)를 허용하지 않습니다.json 모듈 사용법파이썬에서는 import json을 통해 기본적으로 JSON 기능을 제공합니다.
import json
# 문자열 변환
print(json.dumps('hello'))
# 결과: "hello"
# 딕셔너리 변환
print(json.dumps({'name': 'John'}))
# 결과: {"name": "John"}
# 리스트 변환
print(json.dumps([10, 20, 30]))
# 결과: [10, 20, 30]
# 논리값 및 None 변환
print(json.dumps([True, False, None]))
# 결과: [true, false, null]
### B. json.loads() : JSON 문자열 → Python 데이터 (역직렬화)
import json
# JSON 문자열 준비
json_texts = [
"[4, 5, 6]",
'{"name":"hong", "age":13}'
]
for text in json_texts:
obj = json.loads(text)
print(obj, type(obj))
# 주의사항:
# '{'name':'hong'}' -> key에 홀따옴표 사용 시 에러 발생
# '[4, 5, 6,]' -> 마지막 콤마 포함 시 에러 발생
### C. 파일 입출력 (json.load / json.dump)
# 1. 파일 생성 및 쓰기 (준비 과정)
with open('data.json', 'w', encoding='utf-8') as f:
f.write('''
{
"name": "홍길동",
"birth": "0525",
"age": 30
}
''')
# 2. json.load(file) : JSON 파일 -> 파이썬 데이터
with open('data.json', 'r', encoding='utf-8') as f:
obj = json.load(f)
print(obj)
print(f"타입: {type(obj)}")