javascript中json的调用对象详细信息
我有一个json文件,如下所示:javascript中json的调用对象详细信息,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我有一个json文件,如下所示: { "courses": [{ "Name": "Course1", "Containing": { "C1": { "Name": "C1name", "When": "9-17:30" }, "C2": { "Name": "C2name", "When": "9-17:30" }, "C3": {
{
"courses": [{
"Name": "Course1",
"Containing": {
"C1": {
"Name": "C1name",
"When": "9-17:30"
},
"C2": {
"Name": "C2name",
"When": "9-17:30"
},
"C3": {
"Name": "C3name",
"When": "9-17:30"
}
}
}]
}
我用的是
$.ajax({...
用于从json获取数据的函数。但是,我无法获得“包含”部分的详细信息,我想在for循环中调用它
因此,我需要类似于data.courses[0]的内容。包含。(插入带有for循环变量的部分)。Name
我该怎么做
非常感谢!!:) 一旦解析了JSON(这可能是ajax为您做的),您就不再处理JSON,而是处理具有嵌套属性的JavaScript对象
您要循环的对象是一个对象,因此您可以使用for in
或object.keys
(返回对象自己的可枚举属性数组)循环其属性名称,然后我们可以使用forEach
:
var parsedData={
“课程”:[{
“名称”:“课程1”,
“包含”:{
“C1”:{
“名称”:“名称”,
“时间”:“9-17:30”
},
“C2”:{
“名称”:“C2name”,
“时间”:“9-17:30”
},
“C3”:{
“名称”:“名称”,
“时间”:“9-17:30”
}
}
}]
};
var containing=parsedData.courses[0]。containing;
Object.keys(包含).forEach(函数(键){
snippet.log(包含[key].Name);
});代码>
这种方式不能与符号一起使用。我的意思是:
var container = "C1";
data.courses[0].Containing.container; // This doesn't work.
您需要使用[]
方式:
var container = "C1";
data.courses[0].Containing[container]; // This works.
同样,您可以直接使用jQuery的每个函数
var parsedData={
“课程”:[{
“名称”:“课程1”,
“包含”:{
“C1”:{
“名称”:“名称”,
“时间”:“9-17:30”
},
“C2”:{
“名称”:“C2name”,
“时间”:“9-17:30”
},
“C3”:{
“名称”:“名称”,
“时间”:“9-17:30”
}
}
}]
};
$.each(parsedData.courses[0]。包含,函数(键,值){
console.log(value.Name);
});代码>
哇<代码>snippet.log()
。哇<代码>:P
AppleCow你在吗?