Detaillierte Analyse der JSON-Serialisierung in Python

不言
Freigeben: 2018-09-30 14:02:46
nach vorne
2771 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine detaillierte Analyse der JSON-Serialisierung in Python. Ich hoffe, dass er für Freunde hilfreich ist.

Der Grund, warum ich das schreibe, ist, dass ich immer verwirrt bin und es leicht ist, Fehler zu machen. Ich schreibe es auf und schaue, ob etwas dazwischenkommt

Serialisierung bezieht sich auf das Ändern von Variablen aus dem Speicher. Der Prozess, der gespeichert oder übertragen werden kann, wird als Serialisierung (mithilfe von Dumps) bezeichnet, und der Variableninhalt wird vom serialisierten Objekt erneut in

gelesen Speicher Dies nennt man Deserialisierung (mithilfe von Load oder Loads)

Wenn wir Objekte zwischen verschiedenen Programmiersprachen übertragen möchten, müssen wir das Objekt in ein Standardformat serialisieren. B. XML, aber eine bessere Möglichkeit besteht darin, es in JSON zu serialisieren, da JSON

als Zeichenfolge ausgedrückt wird, die von allen Sprachen gelesen werden kann und auch problemlos auf der Festplatte gespeichert oder über das Netzwerk übertragen werden kann . JSON ist nicht nur ein Standardformat, sondern auch schneller als XML

und kann direkt auf der Webseite gelesen werden, was sehr praktisch ist

Die Entsprechung zwischen JSON und den integrierten Daten von Python Die Typen lauten wie folgt:

Die Methode dumps() gibt einen str zurück und der Inhalt ist Standard-JSON. Ebenso kann die dump()-Methode JSON direkt in ein file_Object schreiben. Um JSON in ein

Python-Objekt zu deserialisieren, verwenden Sie „loads()“ oder die entsprechende „load()“-Methode. Erstere deserialisiert die JSON-Zeichenfolge und letztere liest die Zeichenfolge aus „file_Object“ und deserialisiert sie 🎜>Instanz

legt ein Objekt ab

data= { "广州市": { "番禺区": ["南村镇", "大石镇", "榄核镇"], "天河区": ["广州塔", "中信广场", "天河又一城"] } }
s = json.dumps(data, sort_keys=True, indent=4, ensure_ascii=False) 
print(s)
Nach dem Login kopieren

#dumps: ein Objekt serialisieren sort_keys: nach Schlüssel sortieren Einzug: mit 4 Leerzeichen einrücken, Ausgabe ist lesbar, secure_ascii: kann serialisiert werden Nicht-ASCII-Code konvertieren (Chinesisch usw.)

dump: Ein Objekt in eine Datei serialisieren

Der erste Parameter von dump() ist das zu serialisierende Objekt, und der zweite Parameter ist das Handle der geöffneten Datei Öffnen Sie die Datei und fügen Sie Öffnen hinzu

with open("data.json", "w", encoding="UTF-8") as f: 
    s = json.dump(data, f, ensure_ascii=False)
Nach dem Login kopieren

运行此文件之后在统计目录下会有一个data.json文件

反序列化

load:从一个打开的文件句柄加载数据,注意打开的文件编码

with open("data.json", "r", encoding="UTF-8") as f:
    r = json.load(f)
    print(r)
Nach dem Login kopieren

loads: 从一个对象加载数据

a = json.loads(data) 
print(a)
Nach dem Login kopieren

不加ensure_ascii=False 结果是

加入ensure_ascii=False

a = json.loads(data,ensure_ascii=False)  要注意
print(a)
Nach dem Login kopieren

a=json.loads(input("请输入添加的数据:"),enconding='utf-8')
print(a)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDetaillierte Analyse der JSON-Serialisierung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage