如何从 JSON 数组中检索 JSON 数据?

How to retrieve JSON data from array of JSON?

正在编写一个 JS 代码来遍历数组并获取值。在遍历数组时获取 object 的值。

这是要循环的实际 JSON。

[ { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' } ]

遍历数组的示例代码:

var data = [ { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' } ]



function newX(data) {
    console.log(data.length);
    for (var i = 0; i < data.length; i++) {
        console.log(JSON.stringify(data[i]));
    }
}
newX(data);

输出:

{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}

但这里需要看实际值

请告诉我该怎么做。

谢谢

您不需要使用 JSON.stringify。如果您想从对象中获取值,则需要使用“.”。 (点)属性 访问器,你可以阅读它 here

var data = [ { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' } ]



function newX(data) {
    console.log(data.length);
    for (var i = 0; i < data.length; i++) {
        console.log('sum = '+data[i].sum + '  count = '+data[i].count);
    }
}
newX(data);

编辑: 错误实际上只是在 jsObject 上调用 .log() 而不是它的属性。 console.log(data[i].sum) 是你唯一需要改变的东西 :D

对象上的函数 toString 输出 [object Object](如果它是一个普通对象),因此您可能尝试输出一个没有任何属性的对象,修复它并且您的 console.log 将起作用: )

var data = [ { sum: 'xx', count: 'yy' },
  { sum: 'xy', count: 'yx' }]



function newX(data) {
    console.log(data.length);
    for (var i = 0; i < data.length; i++) {
        console.log("sum: " + data[i].sum + "\ncount: " + data[i].count); 
    }
}
newX(data);