이 장에서는 Python 언어를 사용하여 JSON 개체를 인코딩하고 디코딩하는 방법을 소개합니다.
Python 2.7에는 JSON 모듈이 포함되어 있습니다. [공식 문서]
1. Python 원본 유형에서 json 유형으로 변환하는 과정은 다음과 같습니다.
json 가져오기
json.dump(obj, fp, Skipkeys=False, verify_ascii=True, check_circular=True,allow_nan=True, cls=None, indent=None, 구분 기호= 없음, 인코딩="utf-8", 기본값=없음, sort_keys=False, **kw)
json.dumps(obj, Skipkeys=False, verify_ascii=True, check_circular=True,allow_nan=True, cls=None, indent=None, 구분 기호=None, 인코딩="utf-8",기본값=None, sort_keys=False, **kw)
파이썬 json
----------------------------------- -------------- ------
받아쓰기 > ,부동수
참 🎜>
>>> import json>>> json.dumps(['foo', {'bar': ('baz', 없음, 1.0, 2)}])'["foo", {" bar": ["baz", null, 1.0, 2]}]' >>> f = open('demo.txt','w')>>> json.dump(range(100), f) # 데모.txt를 열면 [0 , 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, 32, 33, 34, 35, 36, 37, 38 , 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 , 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75 , 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88 , 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]2. json 유형에서 Python으로 변환하는 과정, 구체적인 변환은 다음과 같습니다. import jsonjson.load (fp[, 인코딩[, cls[, object_hook[,parse_float[,parse_int[,parse_constant[,object_pairs_hook[, * *kw]]]]]]]]) json .loads(s[, 인코딩[, cls[, object_hook[,parse_float[,parse_int[,parse_constant[,object_pairs_hook[, **kw]]]]]]]) > ---------- 개체 dict 의 ' ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐‐‐‐ ‐ ‐ dict 목록
>>> json 가져오기
>>> json.loads('{"a": 1, "b": 2, "c": 3}') # Python 객체로의 문자열
{u'a ': 1, u'c': 3, u'b': 2}
# 1. txt의 내용
[ { "a": [1, 2, 3, 4, 5]}, {"b": [1, 2, 3]}, {"c": ["영어", "중국어"]}]
>>> f = open('1.txt')
>>> json.load(f)
{u'a': [1, 2, 3, 4, 5]}, {u'b': [1, 2, 3]}, {u'c': [u'English', u'중국어 ' ]}]
이전 버전 Python 환경 구성(Python에서 json 모듈을 사용하는 사용자는 읽을 필요가 없음)
Python을 사용하여 JSON 데이터를 인코딩하거나 디코딩하기 전에 먼저 JSON 모듈을 설치해야 합니다. 이 튜토리얼에서는 Demjson을 다운로드하고 설치합니다:
$tar xvfz demjson-1.6.tar.gz
$cd demjson-1.6
$python setup.py install
JSON 기능
기능
설명
encode Python 객체를 JSON 문자열로 인코딩
decode 인코딩된 JSON 문자열을 Python 객체로 디코딩
encode
Python encode() 함수는 Python 객체를 JSON 문자열로 인코딩하는 데 사용됩니다.
구문
demjson.encode(self, obj, Nest_level=0)
예
다음 예는 배열을 JSON 형식 데이터로 인코딩합니다.
#!/ usr /bin/python
import demjson
data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
json = demjson.encode(data)
json 인쇄
위 코드의 실행 결과는 다음과 같습니다.
[{"a":1,"b" :2," c":3,"d":4,"e":5}]
디코드
Python JSON 데이터는 demjson.decode() 함수를 사용하여 디코딩할 수 있습니다. 이 함수는 Python 필드의 데이터 유형을 반환합니다.
구문
demjson.decode(self, txt)
예
다음 예는 Python이 JSON 객체를 디코딩하는 방법을 보여줍니다.
#!/usr/bin/ python
import demjson
json = '{"a":1,"b":2,"c":3,"d":4," e ":5}';
text = demjson.decode(json)
텍스트 인쇄
위 코드의 실행 결과는
{u'a': 1, u'c': 3, u'b': 2, u' e': 5, u'd': 4}