如何从 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);
正在编写一个 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);