Python에서 json을 사용할 때 주로 json 모듈을 사용하게 되는데, json은 데이터 상호작용에 좋은 형식이므로 많은 경우 json 데이터 형식을 프로그램 간 인터페이스로 사용할 수 있습니다.
#!/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.txt 파일의 내용은 다음과 같습니다.
{ "中文":"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"}
주로 사용되는 메소드는 json.loads, json.dumps입니다.
load의 매개변수는 문자열이어야 하므로 파일을 열 때 반드시 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
주된 이유는 json 데이터 형식에서 ,,, be 큰따옴표로 시작하는 잘못된 json 파일은 다음과 같습니다.
{ "fist":'kel' }
kel.py의 내용은 다음과 같습니다.
#!/usr/bin/env python #-*- coding:utf-8 -*- import json j = json.loads(open('kel.txt').read()) print type(j),j
큰따옴표. . . 작은 따옴표의 차이를 알 수 없습니다
로드 메소드를 수행할 때 작은 따옴표가 포함된 문자열이 생성되는 경우가 있습니다. . . 이것은 특히 파이썬에서 그렇습니다. 다른 것과는 아무런 관련이 없으며 주로 따옴표에 관한 것입니다! ! !
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.
파이썬에서 json의 기본 사용법에 대한 자세한 설명은 PHP 중국어 홈페이지를 참고해주세요!