Je lance un appel d'API et renvoie des données. Le problème que je rencontre est d'accéder au deuxième niveau du JSON "logos_here []". L'objectif est de renvoyer uniquement les données d'URL de tous les objets. J'ai joint les données et ce que j'utilise maintenant qui me rapproche même.JSON obtient la valeur de la propriété enfants
DONNEES
{
"data": {
"object": {
"metadata": {
"logos_here": [
{
"logo1": {
"url": "https://cosmicjs.com/upload/logo1.jpg",
"imgix_url": "https://cosmicjs.imgix.net/logo1.jpg"
}
},
{
"logo2": {
"url": "https://cosmicjs.com/upload/logo2.jpg",
"imgix_url": "https://cosmicjs.imgix.net/logo2.jpg"
}
},
{
"logo3": {
"url": "https://cosmicjs.com/upload/logo3.jpg",
"imgix_url": "https://cosmicjs.imgix.net/logo3.jpg"
}
},
{
"logo4": {
"url": "https://cosmicjs.com/upload/logo4.jpg",
"imgix_url": "https://cosmicjs.imgix.net/logo4.jpg"
}
},
{
"logo5": {
"url": "https://cosmicjs.com/upload/logo5.jpg",
"imgix_url": "https://cosmicjs.imgix.net/logo5.jpg"
}
}
]
}
}
}
}
code
Ici
var response_json = JSON.parse(response.responseText);
var page = response_json.data.object;
var main_image = page.metadata.logos_here;
function listData(main_image) {
var html = "<ul>";
$.each(main_image, function(key, val) {
html += "</br>";
if (typeof val === "object")
html += listData(val);
else
html += val;
html += "</br>";
});
html += "</ul>";
return html;
};
$(listData(main_image)).appendTo("body");
Ce que je voudrais extraire uniquement les valeurs "url" et les afficher dans un li. Toute aide est appréciée.
Est-ce que 'val' n'est pas un objet qui contient' "logo1" ',' "logo2" ', etc? Il ne contient pas directement "" url " – Sidney
Oh, n'a pas remarqué le niveau supplémentaire d'imbrication. – Barmar
Je l'ai presque manqué moi-même! J'ai regardé cela pendant quelques minutes. Pour des raisons. – Sidney