À l'aide de la bibliothèque standard, écrivez une fonction read_object qui lit un objet JSON contenu dans une chaîne de caractères et retourne la valeur associée à la clé donnée en 2e argument, sous la forme d'un objet Python.

Par exemple :

>>> read_object('{"x" : [3, "A"], "a" : [1, 2, null]}', "a")
[1, 2, None]
Afficher l'aide
  • Utilisez json.loads() pour décoder une chaîne JSON en un objet Python.

  • Accédez aux éléments d'un dictionnaire Python avec data[key] ou utilisez data.get(key, default) pour une approche plus sûre.

code Code

import json

def read_object(json_string, value):
    data = json.loads(json_string)
    return data[value]

comment Explications

On commence par importer le module json qui va nous permettre de transformer la chaîne de caractères passée à la fonction en objet Python.

Ici, nous utilisons json.loads(), qui transforme une chaîne de caractères formatée en JSON et la convertit en un dictionnaire Python (ou autre structure selon le contenu JSON).

  • La fonction json.loads(json_string) convertit la chaîne json_string en un objet Python. Si json_string est une représentation JSON d'un dictionnaire, loads retourne un dictionnaire Python.

  • Une fois le dictionnaire obtenu, data[valeur] accède à la valeur associée à la clé valeur.

star Points importants

  • json.loads() est utilisé pour convertir une chaîne JSON en un objet Python.
import json

def read_object(json_string, value):
    data = json.loads(json_string)
    return data[value]

Console

Un instant...
terminal

Résultats

/ 2 tests validés

Test avec un nombre flottant

assert read_object('{"a" : 5.2, "b" : "28", "c" : [0, true]}', "a") == 5.2, "La valeur associée à 'a' devrait être un flottant 5.2."

        

Test avec une liste associée à la clé recherchée

assert read_object('{"x" : [3, "A"], "a" : [1, 2, null]}', "a") == [1, 2, None], "La valeur associée à 'a' devrait être la liste [1, 2, None]."

        

Bravo, tu as réussi cet exercice de code 🥳

💯

Envoyer ma solution

Vous avez trouvé une solution alternative pour cet exercice ? Proposez votre solution à la communauté 👇

Seules les propositions différentes de la solution proposée par Docstring peuvent être envoyées.

Ma solution :

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.