일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- codecommit
- 포인트앱
- 실사용
- MongoDB
- 리뷰
- clone
- python3
- 후기
- Linux
- S3
- built-in
- mininet
- MongoEngine
- 토스카드
- 앱테크
- Container
- 하나머니
- aws codecommit
- DocumentDB
- VPC
- 리워드앱
- 재테크
- 커피머니불리기
- AWS
- 도커
- network
- docker network
- Python
- namespace
- docker
- Today
- Total
ㅍㅍㅋㄷ
python dictionary 를 json 으로 변환 본문
python dictionary 를 json 으로 변환
Python 의 자료형 중 가장 많이 사용되는 것 중 하나가 딕셔너리(dictionary) 이다.
특히 API를 이용해 외부에 데이터를 전달할때 보통 json 형태가 사용되는데, python 에서 json 형태와 가장 유사한 자료형이 바로 딕셔너리 이다.
딕셔너리를 json 으로 변환하는 방법은 매우 간단하다.
python 의 json 이라는 라이브러리를 import 하여 사용하면 된다.
json 모듈에 대한 설명은 python docs에 자세히 설명되어 있다. ( 링크는 여기 )
dictionary 를 json 으로 변환
import json
dict1 = { 'name' : 'song', 'age' : 10 }
print "dict1 = %s" % dict1
print "dict1 type = %s" % type(dict1)
print "================"
# CONVERT dictionary to json using json.dump
json_val = json.dumps(dict1)
print "json_val = %s" % json_val
print "json_val type = %s" % type(json_val)
결과는 아래와 같다.
dict1 = {'age': 10, 'name': 'song'}
dict1 type = <type 'dict'>
================
json_val = {"age": 10, "name": "song"}
json_val type = <type 'str'>
딕셔너리를 json 으로 변환후 출력해 보면 그 형태는 큰 변화가 없다.
그러나 자료형을 출력해 보면 위와 같이 딕셔너리는 dict 형이며,
json의 경우는 string 형태로 변환 되었음을 알 수 있다.
따라서 json으로 변환한 경우는 dictionary 처럼 key를 통해 데이터 접근이 불가하다.
>>> print dict1['name']
song
>>> print json_val['name']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: string indices must be integers, not str
json 을 dictionary 로 변환
json 을 역으로 dictionary 형태로도 변환이 가능하다.
json.loads 를 사용하면 간단하다.
dict2 = json.loads(json_val)
웹개발을 하다 보면, UI는 Javascript를 사용하고, 내부 application 로직은 python 으로 개발하는 경우가 많은데,
javascript와 python 사이 데이터를 주고 받을 때 위와 같이 json 변환을 이용하면 간편히 해결 된다.
[참고]
- https://docs.python.org/2/library/json.html
'Programming > Python' 카테고리의 다른 글
python generator(제너레이터) 란 무엇인가 (12) | 2016.07.15 |
---|---|
python iterable과 iterator의 의미 (3) | 2016.07.14 |
Python class 명을 변수로 받아 동적 import 하기 (0) | 2016.05.12 |
python decorator (데코레이터) 어렵지 않아요 (13) | 2016.05.11 |
python list 값 중복 제거하기 (0) | 2015.07.07 |