JavaScript - 将两个 JSON 请求组合成一个对象

标签 javascript jquery json ajax http

如何将两个不同的 JSON 响应组合到一个对象中,以便我可以从单一来源操作我的数据?

我读过不同的实现方式,但与我现在构建代码的方式不太一样。

我对此还很陌生,所以如果你能给我提供一个实际操作的例子,我将不胜感激。

例如:

$(function() {
    let hotels = 'data1.json';
    let guests = 'data2.json';
    $.getJSON(hotels)
        .then(function (res) {
            console.log(res);
        })
        .fail(function (err) {
            console.log(err);
        });
    $.getJSON(guests)
        .then(function (res) {
            console.log(res);
        })
        .fail(function (err) {
            console.log(err);
        });

      /*** start logic for application here ***/  

    let newObject = //How can I combine both responses above???
    console.log(newObject);


});

下面是我从每个请求中得到的响应: enter image description here

最佳答案

你可以做一个 Promise.all 链来在一个新对象中得到这两个结果。

Promise.all([$.getJSON(hotels), $.getJSON(guests)])
  .then( results => {
    console.log(results);
  });

示例:https://repl.it/Ls2c/1

关于JavaScript - 将两个 JSON 请求组合成一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46506024/

相关文章:

javascript - 使用 JavaScript 检测 HTML5

javascript - bootstrap 下拉菜单在 Heroku 上不起作用

javascript - 将 JSON 格式转换为数组以在数据中使用

python - Shapefile 到 geojson 转换 python 3

json - ReactJS:在渲染期间计算 JSON 对象中的字符串数组的平均值

javascript - Google 地点,类型区域的严格限制

javascript - AWS CloudSearch - 获取 JSON 格式的搜索结果

javascript - 取消/停止超时功能

javascript - div 上课 X 时间后的事件

jquery - Twitter Bootstrap - 导航栏切换不会在索引以外的页面上打开