Expliquez ce à quoi vous devez faire attention lorsque vous utilisez json en python

Y2J
Libérer: 2017-05-11 11:25:43
original
1260 Les gens l'ont consulté

Cet article vous présente principalement quelques précautions pour l'opération json de type chaîne en python. L'introduction dans l'article est très détaillée et a une certaine valeur de référence et d'apprentissage pour tous les amis qui en ont besoin peuvent y jeter un œil ci-dessous.

Les méthodes permettant à Python d'utiliser json sont

json.dumps - Convertir jsonobjet (dictionnaire) en un objet chaîne

json.loads - Convertir un objet chaîne en objet json (dictionnaire)

Si vous définissez un objet json

jsonstring1={"results":[{"id":"1","name":"\u9ed8\u8ba4\u5206\u7ec4","policy":"4","timer_scan_setting":"{\"last\":\"10.29.13\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"13\"}"},
{"id":"2","name":"\u6d4b\u8bd5\u7684","policy":"1","timer_scan_setting":"{\"last\":\"10.29.15\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"15\"}"},{"id":"4","name":"\u4ea7\u54c1\u7ec4","policy":"3","timer_scan_setting":"{\"last\":\"10.8.15\",\"setting\":\"disable\"}"}]}
Copier après la connexion

vous pouvez appuyer directement sur json Opérations , comme

print jsonstring1.keys()
print jsonstring1['results'][0]['policy']
Copier après la connexion

peut également être tourné à 360 degrés puis utilisé

jsonstring1=json.dumps(jsonstring1)
jsonstring1=json.loads(jsonstring1)
print jsonstring1.keys()
print jsonstring1['results'][0]['policy']
Copier après la connexion

Mais soyez prudent si vous définissez un objet chaîne

jsonstring2='''{"results":[{"id":"1","name":"\u9ed8\u8ba4\u5206\u7ec4","policy":"4","timer_scan_setting":"{\"last\":\"10.29.13\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"13\"}"},
{"id":"2","name":"\u6d4b\u8bd5\u7684","policy":"1","timer_scan_setting":"{\"last\":\"10.29.15\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"15\"}"},{"id":"4","name":"\u4ea7\u54c1\u7ec4","policy":"3","timer_scan_setting":"{\"last\":\"10.8.15\",\"setting\":\"disable\"}"}]}'''
Copier après la connexion

C'est juste trois guillemets sont ajoutés à l'objet json ci-dessus pour le convertir en chaîne, donc en théorie, vous pouvez directement charger puis appuyer sur l'opération json

json.loads(jsonstring2)
Copier après la connexion

Cependant, en pratique, une erreur est signalée. La raison est à cause des guillemets doubles avant et après les accolades. Il n'a pas été supprimé. De nombreux outils de formatage json en ligne sur Internet ne signaleront pas les erreurs pour ces guillemets doubles, mais Python le fera. Les guillemets doubles ne signalent pas d'erreur car le contenu à l'intérieur sera échappé s'il n'est pas ajouté, donc ne faites jamais entièrement confiance aux outils de vérification du format json en ligne.

Résumé

[Recommandations associées]

1 Tutoriel vidéo gratuit Python

2. 🎜>Tutoriel d'introduction de base de Python

3

Tutoriel vidéo orienté objet Python

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!