Javascript 如何从JSON中嵌套的数组中检索值

Javascript 如何从JSON中嵌套的数组中检索值,javascript,jquery,json,multidimensional-array,nested,Javascript,Jquery,Json,Multidimensional Array,Nested,我想知道如何使用jQuery或纯JavaScript从JSON对象访问“result 2”的值 var jsonarray = [{ title: "Kategori1", items: [{ result: "Item1", //Nested array items2: [{ //How to get the value of result2 result2: "item1 item1" }], }, { resu

我想知道如何使用jQuery或纯JavaScript从JSON对象访问“result 2”的值

var jsonarray = [{

title: "Kategori1",

  items: [{

    result: "Item1",
    //Nested array
    items2: [{
      //How to get the value of result2
      result2: "item1 item1"
    }],
  }, {

    result: "Item2"
  }, {

    result: "Item3"
  }]
}];
如果我运行
console.log(this.data.items[I].items2)
我得到:

…在控制台里,但在那之后我就被卡住了

我试过:

this.data.items[i].items2.result2; // Not working
还有另一个循环:

for (var i = 0; i < this.data.items.length; ++i) {
    this.data.items[i].result, // Gives me the result from the items array, working
        for (var items2 in this.data.items[i]) {

            var result = this.data.items[i]['items2'];
            console.log(result.result2); //Not working            
        };
}
for(变量i=0;i
试试这个:

this.data.items[i].items2[0].result2;

items2
是一个数组,必须通过索引访问

this.data.items[0].items2[0].result2
此外,您的JSON格式不正确。后面有逗号

var data=JSON.stringify({
标题:“Kategori1”,
项目:
[
{
结果:“第1项”,
项目2:[
{
结果2:“项目1项目1”
}]
},
{
结果:“项目2”
},
{
结果:“项目3”
}
]
});
var json=json.parse(数据);

警报(json.items[0].items2[0].result2)正如我已经评论过的,在方括号的末尾之前有一个尾随逗号。请删除以使您的
JSON
有效

试试下面的方法

解决方案1:无需迭代即可直接访问。 解决方案2:迭代解决方案
var jsonarray=[{
标题:“Kategori1”,
项目:[{
结果:“第1项”,
//嵌套数组
项目2:[{
//如何获取result2的值
结果2:“项目1项目1”
}],
}, {
结果:“项目2”
}, {
结果:“项目3”
}]
}];
//迭代jsonarray数组。
for(var i=0;i}
我之前的答案是在您使用实际JSON时编写的,但我正在编辑此答案以满足您的标准

您有一个JavaScript数组,而不是JSON。要访问项
result2
,您可以执行以下代码行:

console.log(jsonarray[0].items[0].items2[0].result2);

因为这不是JSON,所以您不需要引用
数据
对象。

请检查我的答案,如果您对我的两个解决方案有任何问题,我们将继续。2您发布的内容是Javascript对象文本的一部分,而不是JSON。在JSON中,所有属性名都必须加引号,并且不允许使用尾随逗号。他发布的是Javascript文本,而不是JSON。Javascript中允许尾随逗号。@Barmar,注意我用
JSON.parse(数据)将他的“JSON”转换为实际的JSON行在我的示例中,为什么首先需要将其转换为JSON?如果您有一个对象,只需访问它即可。@Barmar很好。Object=>JSON=>Object&&access对象| | access对象。我想我只是喜欢mental ferris Wheels谢谢你的回复,为了一个好的解决方案,我更新了我的帖子,去掉了逗号尾随。好吧,如果你知道名字和级别,这一切都很好。如果您不知道这在结构中的位置,是否有一种通用的方法来执行此操作?我需要检索一个嵌套在一个JSON对象中6深的字段,并将其与另一个嵌套在2深的对象中的相同字段进行比较,我需要使其足够通用,以便在任何复杂对象中搜索特定字段。
document.write(jsonarray[0].items[0].items2[0].result2);
console.log(jsonarray[0].items[0].items2[0].result2);