Я пытаюсь зациклировать объект JSON в NODEJS.Невозможно выполнить цикл через json-объект в nodejs
Я пытаюсь получить значение, например, var value = [table] [row] [0] [STATE] или [table] [row] [1] [STATE] или [table] [row] [ 2] [STATE], но я получаю STATE неопределенную ошибку? Является ли это правильным способом петли через объект Json?
data = JSON.parse(buffer);
for (var obj in data) {
if (data.hasOwnProperty(obj)) {
console.log(obj);
if (obj == "table") {
for (var prop in data[obj]) {
if (data[obj].hasOwnProperty(prop)) {
console.log(prop + ':' + data[obj][prop][0]['STATE']);
console.log(prop + ':' + data[obj][prop][1]['STATE']);
console.log(prop + ':' + data[obj][prop][2]['STATE']);
console.log(prop + ':' + data[obj][prop][0]['COUNT']);
console.log(prop + ':' + data[obj][prop][0]['COUNT']);
console.log(prop + ':' + data[obj][prop][0]['COUNT']);
}
}
}
}
}
JSON FILE
{
"table":[
{
"row":[
{
"STATE":"A"
},
{
"COUNT":"107"
}
]
},
{
"row":[
{
"STATE":"I"
},
{
"COUNT":"92"
}
]
},
{
"row":[
{
"STATE":"R"
},
{
"COUNT":"2"
}
]
}
]
}
Почему вы не просто используете 'var table = obj.table ;', а затем используете' table.forEach (function (o) {var row = o.row; ...}); '? (также вы используете некоторые сомнительные JS - вместо for/in, используйте 'Object.keys (obj) .forEach (...)', и этот JSON очень странный: почему эти вещи не названы свойствами анонимным массивом позиции?) –