Bei der Verwendung von JSON in Python verwenden Sie hauptsächlich das JSON-Modul. JSON ist ein gutes Format für die Dateninteraktion, daher können Sie in vielen Fällen das JSON-Datenformat als Programmschnittstelle zwischen verwenden.
#!/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" }
Ausführen Die Ergebnisse sind wie folgt:
{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"}
Die wichtigsten verwendeten Methoden sind json.loads und json.dumps
Beachten Sie, dass die Parameter in Loads eine Zeichenfolge 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('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
Der Hauptgrund dafür ist, dass ,,, in den JSON-Daten doppelt sein muss Format Die falsche JSON-Datei, die mit Anführungszeichen beginnt, lautet wie folgt:
{ "fist":'kel' }
Der Inhalt von kel.py lautet wie folgt:
#!/usr/bin/env python #-*- coding:utf-8 -*- import json j = json.loads(open('kel.txt').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 detaillierte Inhalt vonDetaillierte Erläuterung der grundlegenden Verwendung von JSON in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!