Cet article vous apporte une introduction à l'utilisation de JSON et pickle en Python (avec code). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
1 : Introduction
(1)JSON (JavaScript Object Notation) est un format d'échange de données léger (XML lourd).
est une règle personnalisée pour l'échange de données, basée sur un sous-ensemble d'ECMAScript.
(2)JSON est un format de données !
String est la représentation de JSON. (Une chaîne conforme au format JSON est appelée chaîne JSON)
(3) Le module json peut être utilisé en Python3 pour encoder et décoder des données JSON. Il contient deux fonctions :
json.dumps(. ) : Encodez les données.
json.loads() : décoder les données.
(4) Les avantages de JSON sont : facile à lire, facile à analyser, efficacité de transmission réseau élevée, échange de données multilingue
2 : encodage Python vers table correspondante de conversion de type JSON :
_______________________________________________ | python | JSON | ------------------------------------------------- | dict | object | ------------------------------------------------- | list,tuple | array | ------------------------------------------------- | str | string | ------------------------------------------------- | int,float,Enums | number | ------------------------------------------------- | True,False,None | true,false,null | -------------------------------------------------
Trois : Si vous souhaitez traiter des fichiers au lieu de chaînes, vous pouvez utiliser
json.dump()
json.load()
Quatre : Utilisez pickle pour sérialiser et désérialiser les données
(1) méthode :
pickle.dump()
pickle.load()
pickle.dumps()
pickle .loads()
(2) Type de données :
Tous les types natifs pris en charge par python : booléen, entier, nombre à virgule flottante, nombre complexe, chaîne, octet, Aucun.
Listes, tuples, dictionnaires et ensembles composés de tout type primitif.
Fonctions, classes, instances de classes
5 : La différence entre JSON et pickle
Le but de la sérialisation et de la désérialisation JSON est de convertir les types de données Python en types standard JSON,
Ou convertissez les données de type JSON en type de données python pour réaliser un échange de données entre différents langages !
pickle : Si vous souhaitez enregistrer une donnée pendant l'exécution du programme, la réutiliser ou l'envoyer à d'autres, vous pouvez utiliser cette méthode
pour écrire les données dans un fichier, prenant en charge tous les types de données !
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)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!