Python 프로그래밍 > Python - JSON 다루기
등록일 : 2017-11-14 16:05
조회수 : 259,002
JSON과 XML은 서로 다른 언어들 사이에서 데이터를 주고 받는 방법 중 하나로 쓰인다.
경량의 데이터 교환 형식으로 자바 스크립트에서 숫자와 배열 등을 만드는 형식을 빌려서 다른 언어에서도 사용할 수 있도록 한 것이다.
최근 API를 사용하여 데이터 분석을 하는 경우도 많아졌다. 그 때 주로 JSON이나 XML파일의 형식을 사용하게 된다.
JSON은 문자열로 되어 있는 딕셔너리 구조이기 때문에 값에 접근하기 위해서는 계층적으로 접근해야만 한다.
print(customer['name'])
print(customer['history'][0]['item'])
print(customer['history'][1]['item'])
위와 같은 형태로 접근한다.
JSON 을 다루는 예제를 보도록 하자.
import json
customer = {
'id': 'cak0280',
'name': '최안규',
'history': [
{'date': '2017-11-11', 'item': '엔터소프트'},
{'date': '2016-11-12', 'item': 'entersoft.kr'},
]
}
print(customer['name'])
print(customer['history'][0]['item'])
print(customer['history'][1]['item'])
# JSON 인코딩(파이썬 오브젝트를 텍스트 타입으로 변환)
jsonString = json.dumps(customer)
print(jsonString)
print(type(jsonString))
jsonString = json.dumps(customer,ensure_ascii=False) #json.dumps()를 사용하면, json에서 escape가 필요한 것들을 자동으로 esacpe
print(jsonString)
print(type(jsonString))
json.dumps() 는 json 오브젝트를 string 형으로 바꾸어 준다.
json.dumps()를 사용하면, json에서 escape가 필요한 것들을 자동으로 esacpe 되기 때문에 한글을 제대로 표시하기 위해서는
ensure_ascii=False 옵션을 넣어 주면 된다.