Heim >Backend-Entwicklung >Python-Tutorial >Detaillierte Analyse der JSON-Serialisierung in Python

Detaillierte Analyse der JSON-Serialisierung in Python

不言
不言nach vorne
2018-09-30 14:02:472781Durchsuche

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)

#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)

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

反序列化

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

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

loads: 从一个对象加载数据

a = json.loads(data) 
print(a)

不加ensure_ascii=False 结果是

加入ensure_ascii=False

a = json.loads(data,ensure_ascii=False)  要注意
print(a)

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen