Javascript 合并两个具有公共元素的JSON对象

Javascript 合并两个具有公共元素的JSON对象,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我有两个JSON提要。一个包含课程的基本信息,第二个包含更具管理性质的信息。这是我的意思的一个例子 首先 {"courses": {"course":{"id":"4","title":"Using a computer","body":"36"}} ,{"course":{"id":"5","title":"Job hunting online","body":"29"}} } {"courses": {"course":{"id":"4","title":"Using

我有两个JSON提要。一个包含课程的基本信息,第二个包含更具管理性质的信息。这是我的意思的一个例子

首先

{"courses":
    {"course":{"id":"4","title":"Using a computer","body":"36"}}
   ,{"course":{"id":"5","title":"Job hunting online","body":"29"}}
}
{"courses":
    {"course":{"id":"4","title":"Using a computer","body":"36","name":"Online Basics","title":"Using a computer","shortname":"onlinebasics","height":640,"width":980,"html5":1,"url":"\/sites\/default\/files\/courses\/onlinebasics\/wrapper.html","started_on":"","bundle_only":true,"progress":false,"completed_on":"2012\/10\/31 00:12:39","on_planner":true}}
}

{"courses":
   {"4": {"id":4,"name":"Online Basics","title":"Using a computer","shortname":"onlinebasics","height":640,"width":980,"html5":1,"url":"\/sites\/default\/files\/courses\/onlinebasics\/wrapper.html","started_on":"","bundle_only":true,"progress":false,"completed_on":"2012\/10\/31 00:12:39","on_planner":true}
   ,"5": {"id":5,"name":"Online Basics","title":"OB2 Job hunting online","shortname":"onlinebasics","height":640,"width":980,"html5":1,"url":"\/sites\/default\/files\/courses\/onlinebasics\/wrapper.html","started_on":"","bundle_only":true,"progress":false,"completed_on":"2012\/11\/24 02:14:51","on_planner":false}
   }
}
所需输出

{"courses":
    {"course":{"id":"4","title":"Using a computer","body":"36"}}
   ,{"course":{"id":"5","title":"Job hunting online","body":"29"}}
}
{"courses":
    {"course":{"id":"4","title":"Using a computer","body":"36","name":"Online Basics","title":"Using a computer","shortname":"onlinebasics","height":640,"width":980,"html5":1,"url":"\/sites\/default\/files\/courses\/onlinebasics\/wrapper.html","started_on":"","bundle_only":true,"progress":false,"completed_on":"2012\/10\/31 00:12:39","on_planner":true}}
}
我希望增加一个“期望输出”选项将使其更容易理解。尽管我只将1个示例放入所需的输出区域,但我希望合并id匹配的所有记录

有什么建议吗

谢谢。

$.when($.get(“feed1.json”),$.get(“feed2.json”)).done(函数(基础,管理){
$.when($.get("feed1.json"), $.get("feed2.json")).done(function(basics, admin) {
    var basiccourses = basics[0].courses,
        admincourses = admins[0].courses;
    // merge all basic course objects into the admin courses object
    for (var i=0; i<basiccourses.length; i++) {
        var basic = basiccourses[i];
        if (basic.id in admincourses)
            // by extending the course object
            $.extend(admincourses[basic.id], basic);
        else
            // or just copying it over
            admincourses[basic.id] = basic;
    }

    // now admincourses has all information combined
});
var basiccourses=basics[0]。课程, admincourses=admins[0]。课程; //将所有基础课程对象合并到管理课程对象中
对于(var i=0;i@JanDvorak:是的,谢谢。我不知道如何组合argumentsnice代码块,但没有解释不是真的有帮助。你在提高OPs复制和粘贴技能,而不是他的技术技能…你尝试了什么?-如果这两个都没有帮助,为什么?你的问题与其他问题有什么不同?第一篇文章是关于m将两个相同的提要合并在一起…第二篇文章我不知道这是怎么回事,因为数据样本无法再访问第三篇文章是关于将两个对象合并为一个…我想做的是,如果它们的id号匹配,将JSON元素合并为一个元素。我不想只将两个JSON提要添加到一个长提要中…然后JSON元素,我指的是一条记录。