Il paraît que vous avez oublié la propriété « colors » dans data, donc la boucle est probablement en train de parcourir l’objet racine plutôt que le tableau :
for (var key in data.colors) {
var obj = data.colors[key];
// ...
}
Sauf si data a été définies comme colors avant l’extrait de code donné.
Par contre, vous devriez envisager de remplacer cette boucle par une boucle for normale pour le tableau :
for (var i = 0, l = data.colors.length; i < l; i++) {
var obj = data.colors[i];
// ...
}
La clé « colors » est un tableau que vous devez parcourir, essayez le code suivant :
for (var key in data) {
var arr = data[key];
for (var i = 0; i < arr.length; i++) {
var obj = arr[i];
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
console.log(prop + " = " + obj[prop]);
}
}
}
}