0
我有一個JSON(縮寫版),如下所述。關聯數組到表
{
"jobs": [
{"name": "Start", "value": "Ready"},
{"name": "Date", "value": "2017-09-11"},
{"name": "Crew", "value": "Crew 3"}]
}
我想讀取JSON的值來生成Tableau中的表。 每個名稱元件是設置爲列標題,我試圖從每個JSON 值值讀取到正確的列。
我的顯示器應該如下所示。
|開始|日期|船員|
|準備好| 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行中的所有值。
E.g.
|開始|日期|船員|
|準備好| - | - |
| - | 2017-09-11 | - |
| - | - |船員3 |
如何循環瀏覽JSON並將每個值添加到tableData對象,以便所有值都在同一行中?
我只是猜測,但是從你的輸出似乎你可能需要與添加數據和對象與所有設置爲匹配列鍵:'{開始:「檢查」 ,日期:'this',船員:'row'}',你可以做小提琴嗎? – maioman
你爲什麼要單獨推送值而不是單個對象? – Wainage
你可以改變'tableData.push( {「start」:resp [1] ['value']}, {「date」:resp [2] ['value']}, {「crew」:resp [3] ['value']}); }爲'tableData.push({「start」:resp [1] ['value'], 「date」:resp [2] ['value'], 「crew」:resp [3] ['值']}); }' – Thijs