Introduction à l'utilisation de JSON et pickle sous Python (avec code)

不言
Libérer: 2018-10-10 16:41:15
avant
2074 Les gens l'ont consulté

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      |
    -------------------------------------------------
Copier après la connexion

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)
Copier après la connexion

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!