Lors de la conversion de dictionnaires en JSON, faites attention à ce piège courant

DDD
Libérer: 2024-10-20 21:02:02
original
741 Les gens l'ont consulté

When Converting Dictionaries to JSON, Watch Out For This Common Pitfall

Pièges liés à la conversion de dictionnaires en JSON

Lorsque vous travaillez avec des données JSON, il est crucial de comprendre la distinction entre les objets JSON et les représentations sous forme de chaîne de JSON. Cette distinction affecte la façon dont nous manipulons et accédons aux données.

Dans le code fourni :

import json

r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
file.write(str(r['rating']))
Copier après la connexion

Le problème vient de l'utilisation de json.dumps() suivie d'une tentative d'accès à un clé de la chaîne résultante. json.dumps() convertit un dictionnaire en une représentation sous forme de chaîne de l'objet JSON, et non en un objet JSON lui-même. Cela signifie que nous ne pouvons pas accéder directement aux propriétés de l'objet JSON à partir de la chaîne.

Pour résoudre ce problème, nous devons utiliser json.loads() pour reconvertir la chaîne en un objet JSON. Cela nous permet d'accéder aux propriétés de l'objet JSON en utilisant la notation par points ou des paires clé-valeur.

<code class="python">import json

r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)  # Converts to a JSON string
loaded_r = json.loads(r)  # Converts back to a JSON object
print(loaded_r['rating'])  # Accesses the 'rating' property</code>
Copier après la connexion

Dans ce code révisé, nous convertissons d'abord le dictionnaire en chaîne à l'aide de json.dumps(). Ensuite, nous utilisons json.loads() pour reconvertir la chaîne en un objet JSON. Nous pouvons désormais accéder à la propriété « rating » en utilisant la notation par points familière.

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
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!