Используя слово "b", Вы все еще используете имя ключа.
var info = {
"fname": "Bhaumik",
"lname": "Mehta",
"Age": "34",
"favcolor": {"color1":"Gray", "color2":"Black", "color3":"Blue"}
};
Посмотрите на приведенный ниже фрагмент.
for(key in info) {
var infoJSON = info[key];
console.log(infoJSON);
}
Результат будет,
Bhaumik
Mehta
Object {color1: "Gray", color2: "Black", color3: "Blue"}
Не хотите, чтобы появилась последняя строка?Попробуйте следующий код:
for(key in info) {
var infoJSON = info[key];
if(typeof infoJSON !== "object"){
console.log(infoJSON);
}
}
Это исключит отображение Object {color1: “Gray”, color2: “Black”, color3: “Blue”}
в консоли.
Теперь нам нужно перебрать переменную infoJSON, чтобы получить значение массива.Посмотрите на следующий полный код:
for(key in info) {
var infoJSON = info[key];
if (typeof infoJSON !== "object"){
console.log(infoJSON);
}
}
for(key1 in infoJSON) {
if (infoJSON.hasOwnProperty(key1)) {
if(infoJSON[key1] instanceof Array) {
for(var i=0;i<infoJSON[key1].length;i++) {
console.log(infoJSON[key1][i]);
}
} else {console.log(infoJSON[key1]);}
}
}
И теперь мы получили результат как
Bhaumik
Mehta
Gray
Black
Blue
Если мы используем имя ключа или идентификатор, тогда очень легко получить значения изобъект JSON, но здесь мы получаем наши значения без использования имени ключа или идентификатора.