javascript - 如何在 JavaScript 中连接两个结构相同的 JSON 数据集?

标签 javascript json

我有以下代码调用两个不同的 API,解析 JSON 数据并将其显示在网页上。两个 JSON 数据集具有相同的结构,一个有 5 列,另一个有 20 列。

我使用的 JavaScript 代码如下所示。如何将两个 JSON 数据集合并为一个,从而得到一个包含 25 列的结果数据集,使我能够搜索/引用所有这 25 列?

两个JSON数据集的数据结构如下:

{
"datatable": {
        "data": [
                  [
                    "TSLA",
                    "2019-02-22",
                    "2019-02-22",
                    58995.9,
                    -231.2
                  ]
                ],
         "columns": [
                {
                    "name": "ticker",
                    "type": "String"
                 },
                 {
                    "name": "date",
                    "type": "Date"
                 },
                 {
                    "name": "lastupdated",
                    "type": "Date"
                 },
                 {
                    "name": "ev",
                    "type": "BigDecimal(15,3)"
                 },
                 {
                    "name": "evebit",
                    "type": "BigDecimal(15,3)"
                    }
                 ]
},
"meta": {
                    "next_cursor_id": null
        }
}

JavaScript代码如下:

var apiurls = [
    'api1.json',
    'api2.json'
  ],
  elroot = document.getElementById('root'),
  index = 0;

function setup() {
  loadJSON(apiurls[index], gotData);
}

function gotData(data) {
  var daten = data.datatable.data[0],
    spalten = data.datatable.columns,
    output = '';
  for (var i = 0; i < spalten.length; i++) {
    output = '<p>' + spalten[i].name + ': ' + daten[i] + '</p>';
    elroot.innerHTML += output;
  }
  if (++index < apiurls.length) {
    setup();
  }
}

最佳答案

类似的东西?

var
  Json_1 = {
    "datatable": {
      "data"   : ['aa','bb','cc'],
      "columns": ['x','y','z']
    },
    "meta": { 'meta1': 15, 'meta2':87 }
  },
  Json_2 = {
    "datatable": {
      "data"   : ['ZZbb','cZc'],
      "columns": ['xf','yf','zf','zgg']
    },
    "meta":  { 'meta1': 879, 'meta2':4 }
  },

  Json_cumul_typ0 = { Json_1, Json_2   },
  Json_cumul_typ1 = {
    "data"   : [].concat( Json_1.datatable.data, Json_2.datatable.data ),
    "columns": [].concat( Json_1.datatable.columns, Json_2.datatable.columns ),
  }
  
;

console.log( Json_cumul_typ0 );

console.log( Json_cumul_typ1 );

关于javascript - 如何在 JavaScript 中连接两个结构相同的 JSON 数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54848795/

相关文章:

php - 表单提交前加密密码

java - 使用 FlexJson、Jackson、GSON 等保留字段名称

php - 从数据库中检索特定行并显示特定行中的所有数据并使用 php 发送 json

javascript - 如何在文本区域中获取选定的文本?

java - 从 spring mvc Controller 返回一个简单的映射结构到 ajax

c# - EF 4.1 - 代码优先 - JSON 循环引用序列化错误

node.js - 将 JSON 数组解析为 JSON 对象时出错

javascript - 将变量作为标签的 Jade 错误

javascript - PDFTron 自定义脚本中应该包含哪些内容?

javascript - 删除订阅