Maison > développement back-end > Tutoriel Python > Explication détaillée de l'analyse de JSON par Python

Explication détaillée de l'analyse de JSON par Python

巴扎黑
Libérer: 2017-09-19 11:13:55
original
2102 Les gens l'ont consulté

Fonction JSON

L'utilisation de la fonction JSON nécessite d'importer la bibliothèque json : import json.

Description de la fonction

json.dumps Encoder des objets Python en chaînes JSON

json.loads Décoder des chaînes JSON encodées en objets Python

json.dumps

Syntaxe

json.dumps(obj, skipkeys=False, Ensure_ascii=True, check_circular=True, Allow_nan=True, cls=None, indent=None, separators=None , encoding="utf- 8", default=Aucun, sort_keys=False, **kw)

Exemple

L'exemple suivant encode le tableau en données au format JSON :

#!/usr/bin/python
import json
data = {'number': 6, 'name': 'Pythontab'}
jsonData = json.dumps(data)
print jsonData
Copier après la connexion

L'exécution le résultat du code ci-dessus est :

{"number": 6, "name": "Pythontab"}
Copier après la connexion

Remarque : vous constaterez peut-être qu'après l'exécution de la conversion ci-dessus, les données n'ont pas changé. Voici ce que je veux dire : des guillemets doubles sont utilisés. dans json Le délimiteur de chaîne marqué, guillemet simple, n'est pas standard.

Utilisez des paramètres pour trier et formater les données JSON pour la sortie :

#!/usr/bin/python
import json
data = {'number': 6, 'name': 'Pythontab'}
jsonData = json.dumps(data, sort_keys=True, indent=4, separators=(',', ': '))
print jsonData
Copier après la connexion

Résultats de sortie

{
    "name": "Pythontab",
    "number": 6
}
Copier après la connexion

Table de conversion du type original python vers le type json :

PythonJSON
dictobject
list, tuplearray
str, unicodestring
int, long, floatnumber
Truetrue
Falsefalse
Nonenull


json.loads

json.loads est utilisé pour décoder les données JSON. Cette fonction renvoie le type de données du champ Python.

Syntaxe

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]] ]])

Exemple

L'exemple suivant montre comment Python décode les objets JSON :

#!/usr/bin/python
import json
jsonData = '{"number": 6, "name": "Pythontab"}'
str = json.loads(jsonData)
print str
Copier après la connexion

Le résultat de l'exécution du code ci-dessus est :

{u'number': 6, u'name': u'Pythontab'}
Copier après la connexion

Tableau de comparaison de types pour la conversion de type json en python :

JSON Python
object dict
array list
string unicode
number (int) int, long
number (real) float
true True
false False
null None


Utiliser une bibliothèque tierce : Demjson

Demjson est une bibliothèque de modules tiers pour python qui peut être utilisé pour encoder et décoder les données JSON, y compris les fonctions de formatage et de vérification de JSONLint.

Adresse Github : https://github.com/dmeranda/demjson

Configuration de l'environnement

Avant d'utiliser Demjson pour encoder ou décoder des données JSON, nous devons installer Demjson module en premier.

Méthode 1 : Installation du code source

$ tar -xvzf demjson-2.2.4.tar.gz

$ cd demjson-2.2.4

$ python setup.py install

Méthode 2 : utilisez pip pour installer directement

pip install Demjson

Fonction JSON

Description de la fonction

encode Encodez les objets Python en chaînes JSON

decode Vous pouvez utiliser la fonction demjson.decode() pour décoder les données JSON. Cette fonction renvoie le type de données du champ Python.

syntaxe d'encodage

demjson.encode(self, obj, nest_level=0)

syntaxe de décodage

demjson.decode(self, txt)

C'est très simple à utiliser, donc je ne donnerai pas d'exemples ici~~

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:php.cn
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