0
votes

Comment puis-je itération à travers une chaîne JSON retournée à l'aide de JavaScript?

J'ai un point d'extrémité d'API qui renvoie certaines données dans le format ci-dessous.

for(var key in dictionary.keySet)
{
    //do...
}


4 commentaires

En supposant que c'est un objet (bien que cela ne soit pas clair du format que vous avez posté les données de la question), plusieurs méthodes vous permettent d'utiliser pour itérer ses propriétés: Stackoverflow.com/questions/8312459/... . Si vous pouvez modifier la question pour afficher un exemple plus précis des données de réponse, nous pouvons vous donner une réponse plus précise.


Quelle est l'erreur? Fournir un exemple de reproductible minimal


Je préfère objet.entries (). Foreach () sur pour ... dans ou l'un de ses carnets objet.keys () et < code> objet.values ​​() . Il vous permet de prétendre que l'objet est un tableau sans avoir à faire le mappage du dictionnaire [clé] manuellement.


S'il vous plaît ajouter plus d'informations. Quoi, le cas échéant, les erreurs sont-elles connectées dans la console? Quel type est la variable de données? S'il s'agit d'un objet, JSON.PARSE jette une SyntaxError.


5 Réponses :


0
votes

Le code que vous avez posté Look Oke, mais il existe des moyens alternatifs de itérer sur un objet: xxx



0
votes

Votre approche est bien bien. Vous ithérapez le dictionnaire, il stockera la clé dans la touche var code>.

Pour accéder à la valeur de cette matrice itératée, vous accédez simplement à la matrice avec la touche. P>

for (var key in dictionary) {
    if (dictionary.hasOwnProperty(key)) {
         var value = dictionary[key]
         console.log(key + '=>' + value);
    }
}


0 commentaires

0
votes

Votre propre code semble bien. Aucune idée de la raison pour laquelle il jette une erreur du code présenté.

L'objet.entries () L'exemple que j'ai commenté va comme suit: p>

p>

const data_json = '{"key1":"value1","key2":"value2","key3": "value3"}';
const dictionary = JSON.parse( data_json );
Object.entries( dictionary ).forEach(([ key, value ]) => {
  console.log( `found key ${ key } with value ${ value }` );
});


0 commentaires

0
votes

Il semble que vous voulez connaître d'autres moyens de le faire. Il peut y avoir d'autres moyens

objet.entries code> et foreach () code> h3>

p>

let obj = {
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}

Object.keys(obj).forEach(key => {
  console.log(key);
  console.log(obj[key])
})


0 commentaires

0
votes

Si vos données API sont entourées par une citation, vous devez utiliser json.parse avant d'exécuter un itérateur. XXX

et si les données sont un objet clair , pas besoin d'utiliser json.parse . xxx


0 commentaires