Maison  >  Article  >  développement back-end  >  Comment accéder aux données des dictionnaires JSON convertis en Python ?

Comment accéder aux données des dictionnaires JSON convertis en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-20 21:03:30828parcourir

How to Access Data from Converted JSON Dictionaries in Python?

Accès aux données dans les dictionnaires JSON convertis

Lorsque vous essayez de convertir un dictionnaire en JSON, vous pouvez rencontrer des difficultés pour accéder aux données lors de la conversion L'objet est une chaîne.

Considérons l'exemple suivant :

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

Ce code tente d'écrire le champ « note » dans un fichier après avoir converti le dictionnaire en JSON. Cependant, cela entraîne une TypeError : les indices de chaîne doivent être des entiers, pas des str.

Le problème vient du fait que json.dumps() convertit le dictionnaire en une représentation sous forme de chaîne, et non un objet JSON. Pour accéder aux données, vous devez d'abord charger la chaîne dans un dictionnaire à l'aide de la méthode json.loads().

Pensez à json.dumps() comme méthode de sauvegarde et à json. loads() comme méthode de récupération. Voici un exemple de code mis à jour :

<code class="python">import json

r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
loaded_r = json.loads(r)
loaded_r['rating']  # Output 3.5
type(r)  # Output str
type(loaded_r)  # Output dict</code>

Maintenant, Loaded_r est un dictionnaire et vous pouvez accéder à ses champs comme prévu.

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