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

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

Y2J
Y2Joriginal
2017-04-17 17:53:271192parcourir

Fonction JSON

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

Description de la fonction

json.dumps Encode Python objet en JSON String

json .loads Décodez la chaîne JSON encodée en un objet 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=None, sort_keys=False, **kw)

Instance

Ce qui suit L'exemple encode le tableau dans des données au format JSON :

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

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

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

Remarque : vous pouvez trouver , après avoir effectué la conversion ci-dessus, les données n'ont pas changé. Voici ce que je veux dire : en json, les guillemets doubles sont le séparateur de chaîne et les guillemets simples ne sont 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 :

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

liste
, tuple
tableau

str, unicode chaîne
int, long, float numéro
Vrai vrai
Faux faux
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.

#!/usr/bin/python
import json
jsonData = '{"number": 6, "name": "Pythontab"}'
str = json.loads(jsonData)
print str
Syntaxe

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]] ]])
{u'number': 6, u'name': u'Pythontab'}

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

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

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

Tableau de comparaison de types pour json

conversion de type

en python :

Utiliser une bibliothèque tierce : Demjson

Demjson est un tiers bibliothèque de modules pour python, disponible Pour l'encodage et le décodage des données JSON, elle inclut les fonctions de formatage et de vérification de JSONLint.

Configuration de l'environnement

Avant d'utiliser Demjson pour encoder ou décoder des données JSON, nous devons d'abord

installer le

module Demjson.

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'encodagedemjson.encode(self, obj, nest_level=0)syntaxe de décodagedemjson.decode(self, txt)

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