Javascript 如何访问复杂JSON格式的数据?
在下面的代码中,为什么我不能访问JSON的Javascript 如何访问复杂JSON格式的数据?,javascript,jquery,json,Javascript,Jquery,Json,在下面的代码中,为什么我不能访问JSON的detail选项中的数据?我想做的是将firstName、lastName和age加载到每个对象的列表中 var数据={ “事件”:[{ “日期”:“一”, “事件”:“, “信息”:“哥本哈根”, “细节”:[{ “名字”:“莎莉”, “姓氏”:“绿色”, “年龄”:27 }] }, { “日期”:“两个”, “事件”:“, “信息”:“哥本哈根”, “细节”:[{ “名字”:“莎莉”, “姓氏”:“绿色”, “年龄”:27 }] }, { “日期”
detail
选项中的数据?我想做的是将firstName
、lastName
和age
加载到每个对象的列表中
var数据={
“事件”:[{
“日期”:“一”,
“事件”:“,
“信息”:“哥本哈根”,
“细节”:[{
“名字”:“莎莉”,
“姓氏”:“绿色”,
“年龄”:27
}]
}, {
“日期”:“两个”,
“事件”:“,
“信息”:“哥本哈根”,
“细节”:[{
“名字”:“莎莉”,
“姓氏”:“绿色”,
“年龄”:27
}]
}, {
“日期”:“三次”,
“事件”:“,
“信息”:“哥本哈根”,
“细节”:[{
“名字”:“莎莉”,
“姓氏”:“绿色”,
“年龄”:27
}]
}]
};
对于(p=0;p”+data.events.detail[i]+”);
}
}
在json中,事件是一个数组。但是您正在尝试访问data.events.detail,它应该类似于data.events[p]。detail不要忘记data.events
是一个数组,因此您必须为
for(i=0;i
一定是
for(i=0;i
而且,因为data.events[].detail
也是一个数组,所以您也必须指定该索引
以下代码成功检索了所需的数据:
var数据={
“事件”:[{
“日期”:“一”,
“事件”:“,
“信息”:“哥本哈根”,
“细节”:[{
“名字”:“莎莉”,
“姓氏”:“绿色”,
“年龄”:27
}]
}, {
“日期”:“两个”,
“事件”:“,
“信息”:“哥本哈根”,
“细节”:[{
“名字”:“莎莉”,
“姓氏”:“绿色”,
“年龄”:27
}]
}, {
“日期”:“三次”,
“事件”:“,
“信息”:“哥本哈根”,
“细节”:[{
“名字”:“莎莉”,
“姓氏”:“绿色”,
“年龄”:27
}]
}]
};
对于(p=0;p
首先,从技术上讲,您所编写的不是“JSON”,它只是一个JavaScript对象。然而,您走的是正确的道路。不清楚您的要求是什么,但我已经详细介绍了您必须为您提供的东西,希望无论怎样都能有所帮助
var数据={
“事件”:[
{
“日期”:“一”,
“事件”:“,
“信息”:“哥本哈根”,
“细节”:[
{
“名字”:“莎莉”,
“姓氏”:“绿色”,
“年龄”:27
}
]
},
{
“日期”:“两个”,
“事件”:“,
“信息”:“哥本哈根”,
“细节”:[
{
“名字”:“约翰”,
“姓氏”:“蓝色”,
“年龄”:22
}
]
},
{
“日期”:“三次”,
“事件”:“,
“信息”:“哥本哈根”,
“细节”:[
{
“名字”:“山姆”,
“姓氏”:“红色”,
“年龄”:25岁
}
]
}
]
};
对于(i=0;i);
对于(j=0;j”);
$(“.container ul:last”).append(“”+data.events[i].detail[j].firstName+” ');
$(“.container ul:last”).append(“”+data.events[i].detail[j].lastName+” ');
$(“.container ul:last”).append(“”+data.events[i].detail[j].age+” ');
}
}
是否需要在for循环中放入var p=0;
。@radation need,no,但这不是一个坏主意。与i
True相同。对于(var i=0;i'+data.events[p].detail[i]+'');)的内部for循环,尝试此操作
谢谢Daniel,但这不是我想要实现的。我需要立即将每个选项的详细信息放在它们下面。现在发生的事情是,您将日期和详细信息分开,因此不清楚哪个细节属于哪个日期!谢谢Aender,但请让我知道last
在ul:last
中的角色是什么e每次循环时,它都会添加另一个
,因此我只是使用:last
选择器来确保内容被添加到上次添加的列表中。