>  기사  >  백엔드 개발  >  Python에서 json의 기본 사용법에 대한 자세한 설명

Python에서 json의 기본 사용법에 대한 자세한 설명

巴扎黑
巴扎黑원래의
2017-03-30 14:24:011595검색

#!/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 &#39;dict&#39;> {u&#39;\u4e2d\u6587&#39;: u&#39;kel&#39;, u&#39;fist&#39;: u&#39;kel&#39;} 
中文 
fist 
{"\u4e2d\u6587": "kel", "fist": "kel"}


주로 사용되는 메소드는 json.loads 및 json.dumps입니다


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(&#39;kel.txt&#39;)) 
 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 데이터 형식에서 double로 시작해야 하기 때문입니다. quote 예, 잘못된 json 파일은 다음과 같습니다:



{ 
  "fist":&#39;kel&#39; 
}


kel.py 내용은 다음과 같습니다:



#!/usr/bin/env python 
#-*- coding:utf-8 -*- 
import json 
j = json.loads(open(&#39;kel.txt&#39;).read()) 
print type(j),j


큰따옴표. . . 작은 따옴표의 차이를 알 수 없습니다


load 메서드를 실행할 때 작은 따옴표가 포함된 문자열이 생성되는 경우가 있습니다. . . 이것은 특히 Python에서 그렇습니다. 다른 것과는 아무런 관련이 없으며 주로 따옴표에 관한 것입니다! ! !



-->

위 내용은 Python에서 json의 기본 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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