如何合并Quandl API返回的列名与数据以适配Appsmith表格组件
解决方案代码
你可以直接使用下面的JS函数处理Quandl返回的原始数据:
function transformQuandlData(rawResponse) { // 提取所有列名 const columnNames = rawResponse.datatable.columns.map(col => col.name); // 逐行将数组和列名匹配为标准对象 return rawResponse.datatable.data.map(row => { return row.reduce((obj, value, index) => { obj[columnNames[index]] = value; return obj; }, {}); }); }
使用说明
- 请求Quandl API拿到返回结果后,直接把返回对象传入
transformQuandlData函数 - 函数返回的就是Appsmith可直接识别的对象数组结构,每个对象的key对应列名,value对应当行的字段值
处理后的结构示例:
[ { "ticker": "AAPL", "dimension": "MRY", "calendardate": "2020-12-31", "datekey": "2020-09-26", "reportperiod": "2020-09-26", "lastupdated": "2021-07-28", "accoci": -406000000, "assets": 323888000000, "assetsavg": 325562500000 } ]
Appsmith 快速接入技巧
直接在Quandl API的「响应转换」标签页粘贴下面的代码即可,无需额外定义函数:
const columnNames = response.datatable.columns.map(col => col.name); return response.datatable.data.map(row => row.reduce((acc, val, idx) => (acc[columnNames[idx]] = val, acc), {}) );
内容的提问来源于stack exchange,提问作者Basley
相关产品推荐
相关产品推荐

