>  기사  >  백엔드 개발  >  Python json 모듈 사용 예

Python json 모듈 사용 예

高洛峰
高洛峰원래의
2017-01-13 13:14:181144검색

실제로 JSON은 Python 사전의 문자열 표현이지만 복잡한 객체이므로 사전을 직접 전송할 수 없으므로 변환 과정도 직렬화 과정입니다. 🎜>

json.dumps를 사용하여 json 문자열 형식으로 직렬화

>>> import json
>>> dic {'Connection': ['keep-alive'], 'Host': ['127.0.0.1:5000'], 'Cache-Control': ['max-age=0']}
>>> jdict = json.dumps({'Connection': ['keep-alive'], 'Host': ['127.0.0.1:5000'], 'Cache-Control': ['max-age=0']})
>>> print jdict
{"Connection": ["keep-alive"], "Host": ["127.0.0.1:5000"], "Cache-Control": ["max-age=0"]}

dic과 jdict에 의해 인쇄된 문자열은 동일하지만 실제 유형은 다릅니다. dic은 사전 유형이고 jdict는 문자열입니다.

<type &#39;dict&#39;>
>>> type(jdic)
>>> type(jdict)
<type &#39;str&#39;>

유형은 json.dumps

>>> list = [1, 4, 3, 2, 5] 
>>> jlist = json.dumps(list)
>>> print jlist
[1, 4, 3, 2, 5]

list를 사용하여 목록을 json 문자열 형식으로 직렬화하는 데 사용할 수 있으며 jlist 유형도

>>> type(list)
<type &#39;list&#39;>
>>> type(jlist)
<type &#39;str&#39;>

json.dumps와 다릅니다. 매개변수

json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)

키 정렬

>>> print json.dumps({1:&#39;a&#39;, 4:&#39;b&#39;, 3:&#39;c&#39;, 2:&#39;d&#39;, 5:&#39;f&#39;},sort_keys=True)
{"1": "a", "2": "d", "3": "c", "4": "b", "5": "f"}

형식 정렬

>>> print json.dumps({&#39;4&#39;: 5, &#39;6&#39;: 7}, sort_keys=True, indent=4)
{
    "4": 5, 
    "6": 7
}

구분자 지정


>>> json.dumps([1,2,3,{&#39;4&#39;: 5, &#39;6&#39;: 7}], separators=(&#39;,&#39;,&#39;:&#39;))
&#39;[1,2,3,{"4":5,"6":7}]&#39;

json.dump를 사용하여 파일 객체로 직렬화

>>> json.dump({&#39;4&#39;: 5, &#39;6&#39;: 7}, open(&#39;savejson.txt&#39;, &#39;w&#39;))
>>> print open(&#39;savejson.txt&#39;).readlines()
[&#39;{"4": 5, "6": 7}&#39;]

json.dump 매개변수는 json.dumps와 유사합니다

json.dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)

json.loads는 json 문자열을 Python 객체로 역직렬화합니다

함수 서명은 다음과 같습니다.

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

여기서 "s"는 문자열이어야 하며 역직렬화 후 유니코드 문자가 됩니다

>>> dobj = json.loads(&#39;{"name":"aaa", "age":18}&#39;)
>>> type(dobj)
<type &#39;dict&#39;>
>>> print dobj
{u&#39;age&#39;: 18, u&#39;name&#39;: u&#39;aaa&#39;}

json.load가 파일에서 Python 객체로 역직렬화됩니다

서명:

json.load(fp[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

예:

>>> fobj = json.load(open(&#39;savejson.txt&#39;))
>>> print fobj
{u&#39;4&#39;: 5, u&#39;6&#39;: 7}
>>> type(fobj)
<type &#39;dict&#39;>

Python json 모듈 사용 예와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.