#!/usr/bin/env python #-*- coding:utf-8 -*- import json print json.load(open('kel.txt')) #deserialize string or unicode to python object j = json.loads(open('kel.txt').read(),encoding='utf-8') print type(j),j for i in j: print i k = json.dumps(j,encoding='utf-8').decode('utf-8') print k
{ "中文":"kel", "fist":"kel" }
{u'\u4e2d\u6587': u'kel', u'fist': u'kel'} <type 'dict'> {u'\u4e2d\u6587': u'kel', u'fist': u'kel'} 中文 fist {"\u4e2d\u6587": "kel", "fist": "kel"}
loads의 매개변수에 유의하세요. 문자열이어야 하므로 열기 시 파일을 읽을 때 반드시 read 메소드를 사용해야 하며, 그렇지 않으면 오류가 발생합니다.
load 메소드는 주로 Python에서 json 데이터를 객체로 로드하는 데 사용되는 반면, dump 메소드는 주로 Python 객체를 json 형식으로 수정하는 데 사용됩니다.
에서 다음과 같은 오류가 발생하기 시작했습니다.
[root@python 56]# python kel.py Traceback (most recent call last): File "kel.py", line 5, in <module> json.load(open('kel.txt')) File "/usr/local/python/lib/python2.7/json/__init__.py", line 291, in load **kw) File "/usr/local/python/lib/python2.7/json/__init__.py", line 339, in loads return _default_decoder.decode(s) File "/usr/local/python/lib/python2.7/json/decoder.py", line 364, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/python/lib/python2.7/json/decoder.py", line 382, in raw_decode raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded
{ "fist":'kel' }
#!/usr/bin/env python #-*- coding:utf-8 -*- import json j = json.loads(open('kel.txt').read()) print type(j),j
load 메서드를 실행할 때 작은 따옴표가 포함된 문자열이 생성되는 경우가 있습니다. . . 이것은 특히 Python에서 그렇습니다. 다른 것과는 아무런 관련이 없으며 주로 따옴표에 관한 것입니다! ! !
위 내용은 Python에서 json의 기본 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!