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

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

巴扎黑
巴扎黑original
2017-09-19 11:13:552045parcourir

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

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

{"number": 6, "name": "Pythontab"}

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

Résultats de sortie

{
    "name": "Pythontab",
    "number": 6
}

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

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


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

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

{u'number': 6, u'name': u'Pythontab'}

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!

Déclaration:
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