使用来自 Quandl API 的数据显示在 Appsmith table 小部件中
Use data from Quandl API to show in Appsmith table widget
我正在构建一个网络应用程序,并希望通过其 JSON API 连接来自 Quandl 的数据。
但是,我从 quandl 获得的 JSON 的列名与数据本身分开,请查看以下内容:
{
"datatable": {
"data": [
[
"AAPL",
"MRY",
"2020-12-31",
"2020-09-26",
"2020-09-26",
"2021-07-28",
-406000000,
323888000000,
325562500000
]
],
]
],
"columns": [
{
"name": "ticker",
"type": "String"
},
{
"name": "dimension",
"type": "String"
},
{
"name": "calendardate",
"type": "Date"
},
{
"name": "datekey",
"type": "Date"
},
{
"name": "reportperiod",
"type": "Date"
},
{
"name": "lastupdated",
"type": "Date"
},
{
"name": "accoci",
"type": "Integer"
},
{
"name": "assets",
"type": "Integer"
},
{
"name": "assetsavg",
"type": "Integer"
}
]
},
"meta": {
"next_cursor_id": null
}
}
当我在 Appsmith 中使用这些数据时,它无法推断出列名。是否有一个简单的 javascript 代码将列名与数据结合起来?谢谢!
这可以通过一个简单的 JS 片段实现,现在我编写的代码不是那么好,但在这种情况下可以工作(可以优化)
{{
function() {
let tableData = [];
_.map(_d.datatable.data, (v, i) => {
let set = {}
_.map(v, (x, k) => {
var obj = {[_d.datatable.columns[k].name]: x}
set = {...set, ...obj}
})
tableData.push(set)
})
}()
}}
在上面的代码片段中 _d
是您收到的数据,我们将数组值索引映射到给定的列索引并从中创建一个新对象,而且由于这是多行 JS 代码,在 Appsmith 中,我们需要将其写在如下所示的 IIFE 中。
我正在构建一个网络应用程序,并希望通过其 JSON API 连接来自 Quandl 的数据。 但是,我从 quandl 获得的 JSON 的列名与数据本身分开,请查看以下内容:
{
"datatable": {
"data": [
[
"AAPL",
"MRY",
"2020-12-31",
"2020-09-26",
"2020-09-26",
"2021-07-28",
-406000000,
323888000000,
325562500000
]
],
]
],
"columns": [
{
"name": "ticker",
"type": "String"
},
{
"name": "dimension",
"type": "String"
},
{
"name": "calendardate",
"type": "Date"
},
{
"name": "datekey",
"type": "Date"
},
{
"name": "reportperiod",
"type": "Date"
},
{
"name": "lastupdated",
"type": "Date"
},
{
"name": "accoci",
"type": "Integer"
},
{
"name": "assets",
"type": "Integer"
},
{
"name": "assetsavg",
"type": "Integer"
}
]
},
"meta": {
"next_cursor_id": null
}
}
当我在 Appsmith 中使用这些数据时,它无法推断出列名。是否有一个简单的 javascript 代码将列名与数据结合起来?谢谢!
这可以通过一个简单的 JS 片段实现,现在我编写的代码不是那么好,但在这种情况下可以工作(可以优化)
{{
function() {
let tableData = [];
_.map(_d.datatable.data, (v, i) => {
let set = {}
_.map(v, (x, k) => {
var obj = {[_d.datatable.columns[k].name]: x}
set = {...set, ...obj}
})
tableData.push(set)
})
}()
}}
在上面的代码片段中 _d
是您收到的数据,我们将数组值索引映射到给定的列索引并从中创建一个新对象,而且由于这是多行 JS 代码,在 Appsmith 中,我们需要将其写在如下所示的 IIFE 中。