Jquery 在第二次迭代中获取JSON数据会引发错误

Jquery 在第二次迭代中获取JSON数据会引发错误,jquery,json,Jquery,Json,有两行JSON数据存储为字符串 First Row - {"content":[{"title":"Test1","desc":"Team1","image":"http://team.jpg"}],"leftnav":[{"navtitle":"Nav One","navdesc":"One Link","navimage":"http://plan.jpg"}]} Second Row - {"content":[{"title":"Test2","desc":"Team2","imag

有两行JSON数据存储为字符串

First Row - {"content":[{"title":"Test1","desc":"Team1","image":"http://team.jpg"}],"leftnav":[{"navtitle":"Nav One","navdesc":"One Link","navimage":"http://plan.jpg"}]} 

Second Row - {"content":[{"title":"Test2","desc":"Team2","image":"http://group.jpg"}],"leftnav":[{"navtitle":"Nav Two","navdesc":"Two Link","navimage":"http://graph.jpg"}]} 
使用每个函数,我将遍历每一行并尝试访问数据,如下所示

其中“resultRegionArr”是对象的对象

$(resultRegionArr).each(function(x){

var str = resultRegionArr[x].testdata;// str is assigned each row at a time
var finalobj = JSON.parse(str); // String is been converted to objects
alert(finalobj.leftnav[x].navtitle);

}
对于第一次迭代,即finalobj.leftnav[0].navtitle,我能够得到正确的结果-NavOne

对于第二次迭代,即finalobj.leftnav[1]。navtitle,我收到一个错误finalobj。未定义leftnav[x]


提前谢谢

那是因为没有leftNav[1]。阵列仅包含一个对象:

"leftnav":[{"navtitle":"Nav Two","navdesc":"Two Link","navimage":"http://graph.jpg"}]
更改此项:

alert(finalobj.leftnav[x].navtitle);
为此:

alert(finalobj.leftnav[0].navtitle);

这个代码没有意义。使用foreach应该将该值作为回调函数的第一个参数返回。你可以用这个值来做一些事情。第二,在最后一行中使用x值似乎很奇怪,因为它用于检索解析后的JSON中的某些内容,同时还用于从初始数组检索数据。我认为你首先需要重新考虑你的代码

var str = resultRegionArr[x].testdata;// str is assigned each row at a time
var finalobj = JSON.parse(str); // String is been converted to objects
alert(finalobj.leftnav[0].navtitle);

试试这个。

为什么要将一个对象放在列表中<代码>[{“title”:“Test1”,“desc”:“Team1”,“image”:http://team.jpg“}]@KrankyCode很高兴我能帮上忙