javascript - 关联数组到表

标签 javascript arrays json

我有一个如下所述的 JSON(缩写版本)。

{
    "jobs": [
        {"name": "Start", "value": "Ready"}, 
        {"name": "Date", "value": "2017-09-11"}, 
        {"name": "Crew", "value": "Crew 3"}]
}

我正在尝试从 JSON 读取值以在 Tableau 中生成一个表。 每个 name 元素都设置为列标题,我尝试从 JSON 读取每个 value 值正确的列。

我的显示应如下所示。

<强>|开始|日期 |船员 |
|准备好 | 2017-09-11 |船员 3 |

我在 Taleau 中创建架构,如下所示。

myConnector.getSchema = function (schemaCallback) {
    var cols = [
        { id : "start", alias : "Start", dataType: tableau.dataTypeEnum.string },
        { id : "date", alias : "Date", dataType: tableau.dataTypeEnum.datetime },
        { id : "crew", alias : "Crew", dataType: tableau.dataTypeEnum.string }];

生成此内容的 JavaScript 是:

var resp = response; // Response data from some API call - JSON as described above
var tableData = []; 
// Iterate over the JSON object
for (var i = 0, len = feat.length; i < len; i++) {
    tableData.push(
        { "start": resp[1]['value'] },
        { "date": resp[2]['value'] },
        { "crew": resp[3]['value'] });
        }

        table.appendRows(tableData);
        doneCallback();
    });
}

但是,当在 Tableau 中生成此值时,每个值都位于正确的列中,但每个值都位于新行中。而不是 1 行中的所有值。

例如

<强>|开始|日期 |船员 |

|准备好 | - | - |

| - | 2017-09-11 | - |

| - | - |船员 3 |

如何循环遍历 JSON 并将每个值添加到 tableData 对象,以便所有值都位于同一行?

最佳答案

您可以将所有内容放入对象数组中。从这里您可以迭代这些值并将它们插入到表中。

const data = {"artists": [{"name": "Start", "value": "Ready"},{"name": "Date", "value": "2017-09-11"},{ "name": "Crew", "value": "artists Crew 1" }],"labor":[{"name": "Start", "value":"Ready"},{"name": "Date", "value": "2017-09-2"},{ "name": "Crew", "value": " labor Crew 2" }],accountant: [{"name": "Start", "value": "Ready"},{"name": "Date", "value": "2017-09-13"},{ "name": "Crew", "value": "account Crew 3" }],"somethingElse":[{"name": "Start", "value": "Ready"},{"name": "Date", "value": "2017-09-14"},{ "name": "Crew", "value": "somethingElse Crew 4"}],},
tableData =Object.entries(data).map(x => ({ Ready: x[1][0].value, Date: x[1][1].value, Crew: x[1][2].value }));
console.log(tableData);

关于javascript - 关联数组到表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46220715/

相关文章:

json - 用文件内容替换关键字

Javascript 正则表达式拆分信用卡号

ruby - CSV 到 JSON Ruby 脚本?

javascript - 遍历数字

java - 通过数组随机化坐标

javascript - Node.js 中稀疏数组的内存消耗

javascript - 如何从javascript中的数组中获取与该字符串匹配的indexOf

javascript - req.body 始终未定义

c# - 在页面加载时从客户端获取 Javascript 值

javascript - 仅当所有子对象均为 true 时才从对象返回 true