Javascript Jquery ajax使用不同的命名数组解析json文件
我刚刚完成了jQueryAjax使用json的教程。我已经能够创建一个ajax页面。但是让事情变得更复杂。我有一个json文件,其中包含两种类型的数组。下面的示例(前两个对象属于人物数组,后两个属于新闻提要): 我的jquery代码现在是Javascript Jquery ajax使用不同的命名数组解析json文件,javascript,jquery,ajax,Javascript,Jquery,Ajax,我刚刚完成了jQueryAjax使用json的教程。我已经能够创建一个ajax页面。但是让事情变得更复杂。我有一个json文件,其中包含两种类型的数组。下面的示例(前两个对象属于人物数组,后两个属于新闻提要): 我的jquery代码现在是 $.getJSON( "ajax/result1-F.json", function( index ) { var jasondata = []; $.each(index, function( i, val ) { $
$.getJSON( "ajax/result1-F.json", function( index ) {
var jasondata = [];
$.each(index, function( i, val ) {
$container1.append( "<div><ul>" + val.profileImage + "</ul><ul><li>"+ val.name + "</li><li>" + val.occupation +"</li><li>" + val.location + "</li><li>" + val.division + "</li></ul>" + "<ul><li> <button> FOLLOW </button> </li>" + "<li>" + val.followers + "</li><li>followers</li><ul></div>");
});
});
$.getJSON(“ajax/result1-F.json”,函数(索引){
var jasondata=[];
$。每个(索引、函数(i、val){
$container1.追加(“”+val.profileImage+”
“+val.name+”“+val.occulation+” “+val.location+”“+val.division+”- followers
“+”- “+val.followers+”
- followers
”;
});
});
container1
显示人员阵列的所有信息。
现在我被困在如何在一个单独的容器2
中同时显示新闻提要上
有人能给我指一下正确的方向吗?谢谢你我不明白你为什么不能这样做:
var jsonObj = {
"people": [{
"name": "John Constable",
"occupation": "CEO",
"location": "Toronto, Canada",
"division": "Health & Epidemics",
"profileImage": "",
"followers": 123
}, {
"name": "Edward Monet",
"occupation": "Lead Developer",
"location": "Toronto, Canada",
"division": "Health & Epidemics",
"profileImage": "",
"followers": 9923
}]
},
{
"newsfeed": [{
"Title": "Evaluations of disaster education programs for children",
"date": "Dec 10, 2015",
"tags": ["disaster", "tornado", "risk management"],
"division": "Health & Epidemics",
"Image": "",
"share": 123
}, {
"Title": "UNISDR Annual Report 2014",
"date": "Dec 10, 2015",
"tags": ["disaster", "tornado", "risk management"],
"division": "Civil & Cyber Security",
"Image": "",
"share": 123
}]
};
var people = jsonObj.people;
var newsfeed = jsonObj.newsfeed;
people.map(function(person) {
$container1.append("<div><ul>" + person.profileImage + "</ul><ul><li>" + person.name + "</li><li>" + person.occupation + "</li><li>" + person.location + "</li><li>" + person.division + "</li></ul>" + "<ul><li> <button> FOLLOW </button> </li>" + "<li>" + person.followers + "</li><li>followers</li><ul></div>");
});
newsfeeds.map(function(news) {
//do stuff
});
var jsonObj={
“人”:[{
“姓名”:“约翰·康斯特布尔”,
“职业”:“首席执行官”,
“地点”:“加拿大多伦多”,
“司”:“卫生与流行病”,
“profileImage”:“,
“追随者”:123
}, {
“姓名”:“爱德华·莫内”,
“职业”:“首席开发人员”,
“地点”:“加拿大多伦多”,
“司”:“卫生与流行病”,
“profileImage”:“,
“追随者”:9923
}]
},
{
“新闻提要”:[{
“标题”:“儿童灾害教育项目评估”,
“日期”:“2015年12月10日”,
“标签”:[“灾难”、“龙卷风”、“风险管理”],
“司”:“卫生与流行病”,
“图像”:“,
“份额”:123
}, {
“标题”:“2014年UNISDR年度报告”,
“日期”:“2015年12月10日”,
“标签”:[“灾难”、“龙卷风”、“风险管理”],
“部门”:“民事和网络安全”,
“图像”:“,
“份额”:123
}]
};
var people=jsonObj.people;
var newsfeed=jsonObj.newsfeed;
人物。地图(功能(人物){
$container1.追加(“”+person.profileImage+”
“+person.name+”“+person.occulation+”“+person.location+”“+person.division+”“- 跟随者”
“+”- “+person.followers+”
”;
});
newsfeeds.map(函数(新闻){
//做事
});
您当前正试图在整个JSON对象上循环。而是从对象中选择该属性并在其上循环
$.each(index.people, function( i, val ) {//what you already have});
然后对新闻提要执行类似的操作
$.each(index.newsfeed, function( i, val ) {//printing what you have in newsfeed into $container2});
我不明白。你为什么不把这两个阵列连接起来呢
{
"people": [{...}, {...}],
"newsfeed": [{...}, {...}]
}
现在,使用
jasondata.people[0].name
。对于新闻提要:jasondata.newsfeed[0]。Title
您总是会得到两个人员数组和新闻提要数组吗?index
是整个JSON对象吗?实际上,我有一个下拉菜单,可以影响两个数组,在本例中,我只想找出一种简单的方法,在两个不同的表中显示两个数组。是索引是整个JSON对象。
{
"people": [{...}, {...}],
"newsfeed": [{...}, {...}]
}