Python JSON 다루기

Jmnote (토론 | 기여)님의 2020년 1월 12일 (일) 17:52 판

1 개요

Python JSON 다루기
파이썬 JSON 처리
  • JSON 문자열은 Python 자료형(주로 딕셔너리, 리스트)과 상호 변환가능하며, 형식도 매우 유사하다.
  • 문자열의 경우, Python에서는 작은따옴표를 주로 사용하지만 JSON 표준에서는 큰따옴표만 허용된다.
  • 또한 JSON 표준은 유니코드 처리 방식이 다르므로 한글 등의 처리시 유의할 필요가 있다.
  • 아래의 실행결과는 Python 3 기준이다.[1]
JSON 문자열을 파이썬 딕셔너리로 변환
import json
x = '{"name":"홍길동", "age":18}'
y = json.loads(x)
print(type(y))
# <class 'dict'>
print(y)
# {'name': '홍길동', 'age': 18}
print(y['age'])
# 18
파이썬 딕셔너리를 JSON 문자열로 변환
import json
x = {"name":"홍길동", "age":18}
y = json.dumps(x)
print(type(y))
# <class 'str'>
print(y)
# {"name": "\ud64d\uae38\ub3d9", "age": 18}
→ 원래 JSON 형식은 멀티바이트 유니코드 문자를 \uxxxx로 표현하는 것이 표준이다.
→ JSON으로 변환된 한글을 읽기가 좀 어려울 수 있다. 이때는 인터넷 상의 JSON 변환기 등을 활용하면 편리하다.
JSON 문자열을 파이썬 딕셔너리로 변환 2
import json
x = '{"name": "\ud64d\uae38\ub3d9", "age": 18}'
y = json.loads(x)
print(type(y))
# <class 'dict'>
print(y)
# {'name': '홍길동', 'age': 18}
→ 다시 딕셔너리로 변환하면 원래의 한글로 변환되므로 특별히 문제될 것은 없다.

2 Python-JSON 자료형 대응

Python JSON
dict Object
list Array
tuple Array
str String
int Number
float Number
True true
False false
None null

3 같이 보기

4 참고

  1. Python 2는 자료형, 유니코드 처리 방식이 다르므로 취급에 주의가 필요하다.
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}