Maison  >  Article  >  développement back-end  >  Expliquez ce à quoi vous devez faire attention lorsque vous utilisez json en python

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

Y2J
Y2Joriginal
2017-05-11 11:25:431334parcourir

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\"}"}]}

vous pouvez appuyer directement sur json Opérations , comme

print jsonstring1.keys()
print jsonstring1['results'][0]['policy']

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']

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\"}"}]}'''

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)

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!

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