Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery ajax使用不同的命名数组解析json文件_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript Jquery ajax使用不同的命名数组解析json文件

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 ) { $

我刚刚完成了jQueryAjax使用json的教程。我已经能够创建一个ajax页面。但是让事情变得更复杂。我有一个json文件,其中包含两种类型的数组。下面的示例(前两个对象属于人物数组,后两个属于新闻提要):

我的jquery代码现在是

$.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": [{...}, {...}]
    }