Heim >Backend-Entwicklung >Python-Tutorial >Detaillierte Erläuterung der grundlegenden Verwendung von JSON in Python

Detaillierte Erläuterung der grundlegenden Verwendung von JSON in Python

高洛峰
高洛峰Original
2017-02-23 16:48:331514Durchsuche

Bei der Verwendung von JSON in Python verwenden Sie hauptsächlich das JSON-Modul. JSON ist ein gutes Format für die Dateninteraktion, daher kann das JSON-Datenformat in vielen Fällen als Schnittstelle zwischen Programmen verwendet werden.

#!/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

Der Inhalt der Datei kel.txt lautet wie folgt:

{ 
  "中文":"kel", 
  "fist":"kel" 
}


Die Ausführungsergebnisse sind wie folgt:

{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"}

Die hauptsächlich verwendeten Methoden sind JSON .loads und json.dumps

Beachten Sie, dass die Parameter in Loads Zeichenfolgen sein müssen. Beim Öffnen der Datei müssen Sie daher die Lesemethode verwenden, da sonst ein Fehler auftritt.

Die Loads-Methode wird hauptsächlich zum Laden von JSON-Daten in Objekte in Python verwendet, während die Dumps-Methode hauptsächlich zum Ändern von Python-Objekten in das JSON-Format verwendet wird.

ist wie folgt auf einen Fehler gestoßen:

[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

Der Hauptgrund liegt darin, dass ,,, in den JSON-Daten enthalten ist Format Es muss mit doppelten Anführungszeichen beginnen. Die falsche JSON-Datei lautet wie folgt:

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

Der Inhalt von kel.py lautet wie folgt:


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

Doppelte Anführungszeichen. . . Ich kann den Unterschied zwischen einfachen Anführungszeichen nicht erkennen

Manchmal wird beim Ausführen der Loads-Methode eine Zeichenfolge mit einfachen Anführungszeichen generiert. . . Dies gilt insbesondere für Python. Es hat nichts mit anderen Dingen zu tun, es geht hauptsächlich um Anführungszeichen! ! !


Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er zum Lernen aller beiträgt. Ich hoffe auch, dass jeder die PHP-Chinesisch-Website unterstützt.

Ausführlichere Erläuterungen zur grundlegenden Verwendung von JSON in Python finden Sie auf der chinesischen PHP-Website!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn