Maison > Article > développement back-end > Explication détaillée de l'analyse de JSON par Python
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
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 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 |
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
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
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!