我有一个Node JS
和Typescript
项目,在该项目中,我目前从一个API接收一个JSON,并使用json-2-csv
模块将其转换成有限制行的CSV格式。我已经读到papaparse
模块用于这些事情的速度相当快,我想知道它是如何工作的,但是我不能用它从api
转换一个JSON
。
这就是我用json-2-csv
打的电话
await this.csvConverter.jsonToCsv(converterUtils, nameFile, this.dir);
这是处理转换的class
:
export class csvConverter {
public async jsonToCsv (csv: any, nameFile: string, dir: string):Promise <number> {
const max: number = new constUtils().maxRecords;
const headers = csv.split('\n').slice(0, 1);
const records = csv.split('\n').slice(0,);
for (let i = 1; i < records.length; i = i + max) {
let dataOut = headers.concat(records.slice(i, i + max)).join('\n');
let id = Math.floor(i / max) + 1;
fs.writeFileSync(`${dir}/${nameFile}.${id}.csv`, dataOut);
}
return Promise.resolve(csv);
};
}
我的问题是,我不能对做同样的事情,我看过文档,但是我可以从本地文件中转换JSON,但是我不能从API中获得它。
发布于 2021-06-14 00:29:47
通过评论:
--这是我用来调用的变量:
设api = req.query.api;url = this.constUt.conf.API_MOCS ${api}
.url;json =等待axios.get (url);Papa.unparse (json);
在这种情况下,站起来什么也不做。
axios.get
返回一个响应对象;JSON数据可以作为data
使用。您不能只将完整的响应对象传递给爸爸,并期望得到正常的结果。
const url = this.constUt.conf.API_MOCS[String(req.query.api)].url;
const resp = await axios.get(url);
const data = Papa.unparse(resp.data);
console.log(data);
https://stackoverflow.com/questions/67960408
复制相似问题