Estoy creando una aplicación web y quiero conectar datos de Quandl a través de su API JSON. Sin embargo, el JSON que obtengo de quandl tiene los nombres de columna separados de los datos en sí, verifique a continuación:
{ "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 } }Cuando uso estos datos en Appsmith, no puedo inferir los nombres de las columnas. ¿Existe un código javascript simple para combinar los nombres de las columnas con los datos? ¡Gracias!
Esto es posible con un fragmento JS simple. Ahora mi código escrito no es tan bueno, pero funcionará en este caso (se puede optimizar)
{{ 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) }) }() }} En el fragmento anterior, _d son los datos que recibe. Mapeamos el índice de valor de matriz con el índice de columna dado y creamos un nuevo objeto a partir de él. Además, dado que se trata de un código JS de varias líneas, en Appsmith debemos escribir esto dentro de un IIFE como a continuación.