Maison > développement back-end > Tutoriel Python > Comment éviter les erreurs lors de l'accès aux données JSON à partir des dictionnaires Python

Comment éviter les erreurs lors de l'accès aux données JSON à partir des dictionnaires Python

Barbara Streisand
Libérer: 2024-10-20 21:07:02
original
597 Les gens l'ont consulté

How to Avoid Errors When Accessing JSON Data from Python Dictionaries

Encodage/décodage JSON avec Python

Pour un échange et un stockage de données transparents, la conversion des dictionnaires Python en JSON (JavaScript Object Notation) est une pratique courante exigence. Cependant, des erreurs inattendues peuvent survenir lors de la tentative d'accès aux données JSON à partir d'un dictionnaire.

Erreur rencontrée :

Considérez l'extrait de code suivant :

<code class="python">r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
file.write(str(r['rating']))</code>
Copier après la connexion

Lors de la tentative d'accès à la clé « rating » à partir de la chaîne JSON, une erreur « TypeError : les indices de chaîne doivent être des entiers, pas des str » se produit. Cette erreur se produit car json.dumps() convertit le dictionnaire « r » en chaîne, et non en un véritable objet ou dictionnaire JSON.

Approche correcte :

Pour résoudre Pour résoudre ce problème, utilisez la méthode json.loads() pour recharger la chaîne JSON dans un dictionnaire. Cela vous permet d'accéder à la clé 'rating' comme suit :

<code class="python">import json

r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
loaded_r = json.loads(r)
print(loaded_r['rating'])</code>
Copier après la connexion

Comprendre la distinction :

json.dumps() enregistre un dictionnaire sous forme de chaîne, tandis que json.loads() le récupère sous forme de dictionnaire. N'oubliez pas d'utiliser json.dumps() lors de la sérialisation des données et json.loads() lors de leur désérialisation.

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!

source:php
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal