Maison >développement back-end >Tutoriel Python >Lors de la conversion de dictionnaires en JSON, faites attention à ce piège courant
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']))
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>
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!