[英]accessing individual array elements in an array of JSON object
我有一个 JSON 对象数组 - 每个键在一个数组中都有多个值,如下所示:
{
"1": [
"hi",
"hello"
]
}
如何访问单个元素“hi”和“hello”?
我在下面尝试过但不起作用
//suppose var imdb = [] contains the above array of JSON object
for (var i = 0; i < imdb.length; i++) {
var object = imdb[i];
var strArray = JSON.stringify(object, null, 2);
console.log(strArray) //prints the above
console.log(imdb[1][0]) // throws error, was expecting to print "hi"
}
你可以这样做 -
let data = [ { "1": [ "hi", "hello" ] }, { "2": [ "hi again", "hello again" ] } ] function foo(data) { data.forEach(obj => { for(let prop in obj) { obj[prop].forEach(x => console.log(x)); } }) } foo(data);
它的作用是——
您可以使用JSON.parse()
从原始 JSON 响应中获取data
的正确表示。
为了您的原代码,如果你想在一个特定的位置印刷阵列值,比如"hi"
从第二个对象,从第一个对象,而“喜试”,这里是修改后的代码-
function bar(imdb) {
// parse imdb first, then -
for (var i = 0; i < imdb.length; i++) {
var object = imdb[i];
var objectKey = Object.keys(object)[0];
console.log(object[objectKey][0]);
}
}
Object.keys(object)[0]
将返回您正在迭代的当前对象的键( "1"
或"2"
),并使用object[objectKey][0]
,您可以在0
处打印元素键值的第 th 个索引。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.