Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Verwendung von JSON und Pickle unter Python (mit Code)

Einführung in die Verwendung von JSON und Pickle unter Python (mit Code)

不言
不言nach vorne
2018-10-10 16:34:562110Durchsuche

Dieser Artikel bietet Ihnen eine Einführung in die Verwendung von JSON und Pickle (mit Code). Ich hoffe, dass er Ihnen als Referenz dienen wird.

1: Einführung

(1) JSON (JavaScript Object Notation) ist ein leichtes (XML-schwergewichtiges) Datenaustauschformat.
ist eine für den Datenaustausch angepasste Regel, die auf einer Teilmenge von ECMAScript basiert.

(2)JSON ist ein Datenformat!
String ist die Darstellung von JSON. (Eine Zeichenfolge, die dem JSON-Format entspricht, wird als JSON-Zeichenfolge bezeichnet.)

(3) Das JSON-Modul kann in Python3 zum Kodieren und Dekodieren von JSON-Daten verwendet werden. Es enthält zwei Funktionen:
json.dumps( ) : Daten kodieren.
json.loads(): Daten dekodieren.

(4) Die Vorteile von JSON sind: einfach zu lesen, leicht zu analysieren, hohe Netzwerkübertragungseffizienz, sprachübergreifender Datenaustausch

2: Python-Codierung in JSON-Typkonvertierung entsprechende Tabelle:

    _______________________________________________
    |    python           |         JSON            |
    -------------------------------------------------
    |    dict             |        object           |
    -------------------------------------------------
    |    list,tuple       |         array           |
    -------------------------------------------------
    |    str              |        string           |
    -------------------------------------------------
    |   int,float,Enums   |       number            |
    -------------------------------------------------
    |   True,False,None   |    true,false,null      |
    -------------------------------------------------

Drei: Wenn Sie Dateien statt Strings verarbeiten möchten, können Sie
json.dump()
json.load()

verwenden Viertens: Verwenden Sie Pickle zum Serialisieren und Deserialisieren von Daten

(1) Methode:
pickle.dump()
pickle.load()
pickle.dumps()
pickle.loads ( )

(2) Datentyp:
Alle von Python unterstützten nativen Typen: Boolescher Wert, Ganzzahl, Gleitkommazahl, komplexe Zahl, Zeichenfolge, Byte, Keine.
Listen, Tupel, Wörterbücher und Mengen, die aus einem beliebigen primitiven Typ bestehen.
Funktionen, Klassen, Instanzen von Klassen

5: Der Unterschied zwischen JSON und Pickle

Der Zweck der JSON-Serialisierung und -Deserialisierung besteht darin, Python-Datentypen in JSON-Standardtypen zu konvertieren,
Oder konvertieren Sie Daten vom Typ JSON in den Datentyp Python, um den Datenaustausch zwischen verschiedenen Sprachen zu erreichen!
pickle: Wenn Sie während der Ausführung des Programms ein Datenelement speichern, wiederverwenden oder an andere senden möchten, können Sie diese Methode
verwenden, um die Daten in eine Datei zu schreiben, die alle Datentypen unterstützt!

import json
import pickle
# ----------------------------------------------#
# 反序列化
# ----------------------------------------------#
# object
json_str = '{"name":"qiyue", "age":18}'     # JSON字符串
student = json.loads(json_str)    # JSON对象转换为字典
print(student)
print(json_str)
print(type(student))

# object
json_str1 = '[{"name":"qiyue", "age":18, "flag":false}, ' \
            '{"name":"qiyue", "age":18}]'     # JSON字符串
student1 = json.loads(json_str1)    # JSON对象转换为字典
print(type(student1), student1)
print(student1[0])

# ----------------------------------------------#
# 序列化
# ----------------------------------------------#
student2 = [
                {"name": "qiyue", "age": 18, "flag": False},
                {"name": "qiyue", "age": 18}
           ]

json_str1 = json.dumps(student2)    # 转换为字符串后可以利用正则表达式处理字符串
print(type(json_str1), json_str1)

# ----------------------------------------------#
# 处理的是文件
# ----------------------------------------------#
# 将数据写入文件
student3 = [
                {"name": "qiyue", "age": 18, "flag": False},
                {"name": "qiyue", "age": 18}
           ]
with open('data.json', 'w') as f:
    json.dump(student3, f)

# 读取数据
with open('data.json', 'r') as f:
    data = json.load(f)


# dumps(object)将对象序列化
list_a = ["English", "Math", "Chinese"]
list_b = pickle.dumps(list_a)   # 序列化数据
print(list_a)
print(list_b)

# loads(object)将对象原样恢复,并且对象类型也恢复原来的格式
list_c = pickle.loads(list_b)
print(list_c)


# dumps(object,file)将对象序列化后存储到文件中
group1 = ("baidu", "wen", "qingtian")
f1 = open('group.txt', 'wb')
pickle.dump(group1, f1, True)
f1.close()

# load(object, file)将文件中的信息恢复
f2 = open('group.txt', 'rb')
t = pickle.load(f2)
f2.close()
print(t)

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von JSON und Pickle unter Python (mit Code). 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