Je reçois l'objet JSON sous forme de liste d'objets:
result=[{"key1":"value1","key2":"value2"}]
J'essaie de récupérer les valeurs de cette liste dans Node.js. J'ai utilisé JSON.stringify(result)
mais j'ai échoué. J'ai essayé d'itérer la liste en utilisant for(var key in result)
sans succès, car elle affiche chaque élément sous forme de clé.
Est-ce que quelqu'un est confronté à un problème similaire ou est passé par là? S'il te plait, oriente moi dans la bonne direction.
Si votre résultat est une chaîne, alors:
var obj = JSON.parse(result);
var keys = Object.keys(obj);
for (var i = 0; i < keys.length; i++) {
console.log(obj[keys[i]]);
}
OK, en supposant que result
est une chaîne, la première chose à faire est de la convertir (désérialiser) en un objet JavaScript. Un bon moyen de le faire serait:
array = JSON.parse(result)
Ensuite, vous parcourez chaque élément du tableau, et pour chaque élément, vous pouvez parcourir les clés comme suit:
for(var idx in array) {
var item = array[idx];
for(var key in item) {
var value = item[key];
}
}
On dirait que vous pointez le mauvais objet . Soit comme
var result = [{"key1":"value1","key2":"value2"}];
for(var key in result[0]){ alert(key);}
ou
var keys = Object.keys([{"key1":"value1","key2":"value2"}][0]);
alert(keys);
essayez ce code:
For result=[{"key1":"value1","key2":"value2"}]
Vous trouverez ci-dessous les valeurs pour chaque clé:
console.log(result[0].key1)
console.log(result[0].key2)
Ne serait-ce pas simplement:
let obj = JSON.parse(result);
let arrValues = Object.values(obj);
ce qui vous donnerait un tableau de juste les valeurs à parcourir.
Une approche un peu différente:
let result=[{"key1":"value1","key2":"value2"}]
for(let i of result){
console.log("i is: ",i)
console.log("key is: ",Object.keys(i));
console.log("value is: ",Object.keys(i).map(key => i[key])) // Object.values can be used as well in newer versions.
}