Introduction à l'utilisation de JSON en Python

coldplay.xixi
Libérer: 2020-09-01 17:42:03
avant
1941 Les gens l'ont consulté

Introduction à l'utilisation de JSON en Python

[Recommandations d'apprentissage associées : vidéo python]

Introduction à JSON

JSON (JavaScript Object Notation) est un format d'échange de données léger. Facile à lire et à écrire pour les humains. Il est également facile à analyser et à générer pour les machines. Il est basé sur le langage de programmation JavaScript, un sous-ensemble de la norme ECMA-262 3e édition – décembre 1999. JSON utilise un format de texte totalement indépendant du langage, mais utilise également des conventions similaires à la famille des langages C (notamment C, C++, C#, Java, JavaScript, Perl, Python, etc.). Ces propriétés font de JSON un langage d'échange de données idéal.

Deux structures de JSON

  1. Une collection de paires nom/valeur. Dans différentes langues, il est compris comme un objet, un enregistrement, une structure, un dictionnaire, une table de hachage, une liste à clés ou un tableau associatif).

  2. Une liste ordonnée de valeurs. Dans la plupart des langues, il s'agit d'un tableau.

Utilisation de JSON en Python

Lorsque vous utilisez JSON en Python, vous devez introduire la bibliothèque standard json.

import json

Conversion de type

Conversion de type Python en JSON :

json.dump()

# 1. Convertissez le type de dict de Python en JSON
person_dict = {'name' : 'pig', 'age' : 18, 'sex' : 'man', 'hometown' : 'Jiangxi Fuzhou'}

Le paramètre d'indentation est le nombre d'espaces d'indentation

person_dict_json = json.dumps(person_dict, indent=4)print(person_dict_json, 'n')

2. Conversion du type de liste Python en JSON

person_list = ['pig', 18, 'man', 'Jiangxi Fuzhou']person_list_json = json.dumps(person_list)print(person_list_json, ' n')

3. Conversion du type d'objet Python en JSON

person_obj = Person('pig', 18, 'man', 'Jiangxi Fuzhou')

La fonction anonyme au milieu est d'obtenir la forme dictionnaire de tous les attributs de l'objet

person_obj_json = json.dumps(person_obj, default=lambda obj: obj.dict, indent= 4)print(person_obj_json, 'n')

JSON vers Python type :

json.loads()

4. Tapez JSON vers Python

person_json = '{ "name": "pig", "age": 18, "sex": "man", "hometown": "Jiangxi Fuzhou"}'
person_json_dict = json.loads (person_json)print(type(person_json_dict), 'n')

5. Type de liste JSON vers Python

person_json2 = ' ["cochon", 18, "homme", "Fuzhou, Jiangxi"]'
person_json_list = json.loads(person_json2)print(type(person_json_list), 'n')

6. JSON vers Python Type d'objet personnalisé

person_json = '{ "name": "pig", "age": 18, "sex": "man", "hometown": "Jiangxi Fuzhou" }'

Le paramètre object_hook consiste à convertir l'objet dict en un objet personnalisé

person_json_obj = json.loads(person_json, object_hook=lambda d: Person(d[ 'nom'], d['âge'], d['sexe'], d['ville natale']))print(type(person_json_obj), 'n')

Python et JSON table de correspondance des types de données


JSON Python
object dict
array list
string str
number int,long,float
true,false True,False
null None
JSON

Python
objet dict
tableau list
chaîne str
numéro td> int, long, float
vrai, faux Vrai, faux
null Aucun

Points à noter

Les noms de clés et les chaînes JSON doivent être placé entre guillemets doubles, et les guillemets simples en Python peuvent également être exprimés sous forme de chaînes, c'est donc une erreur relativement facile à commettre !

Lors de la conversion de types Python en JSON, devons-nous utiliser Load/Dump ou Loadsdumps ?

La méthode sans ajouter de s ajoute un fp supplémentaire au paramètre d'entrée pour représenter le chemin du fichier, et enfin une opération supplémentaire d'écriture d'un fichier.

Donc, quand on s'en souvient, on peut s'en souvenir comme ceci :

Ajouter s signifie convertir en chaîne (str), ne pas ajouter s signifie convertir en fichier.

Recommandations associées :
Cours vidéo de programmation

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:learnku.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