使用 Papaparse 将 JSON 转换为 CSV
Convert JSON to CSV using Papaparse
我有一个 Node JS
和 Typescript
项目,我目前在其中从 API 收到一个 JSON 并将其转换为具有行数限制的 CSV 格式,使用 json-2-csv
模块。我读到 papaparse
模块对于这些东西来说非常快,我想知道它是如何工作的,但我不能用它来将 JSON
从 api
.
这是我用 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);
};
}
我的 问题 是我不能用 papaparse 做同样的事情,我看过文档但我可以从本地文件转换 JSON 但我无法从 API.
中获取
通过评论:
These are the variables I use to make the call:
let api = req.query.api;
let url = this.constUt.conf.API_MOCS [`${api}`].url;
let json = await axios.get (url);
Papa.unparse (json);
In this case Stand Up does nothing.
axios.get
returns一个响应对象; JSON 数据可用 data
。
您不能只将完整的响应对象传递给 Papa 并期望得到合理的结果。
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);
我有一个 Node JS
和 Typescript
项目,我目前在其中从 API 收到一个 JSON 并将其转换为具有行数限制的 CSV 格式,使用 json-2-csv
模块。我读到 papaparse
模块对于这些东西来说非常快,我想知道它是如何工作的,但我不能用它来将 JSON
从 api
.
这是我用 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);
};
}
我的 问题 是我不能用 papaparse 做同样的事情,我看过文档但我可以从本地文件转换 JSON 但我无法从 API.
中获取通过评论:
These are the variables I use to make the call:
let api = req.query.api; let url = this.constUt.conf.API_MOCS [`${api}`].url; let json = await axios.get (url); Papa.unparse (json);
In this case Stand Up does nothing.
axios.get
returns一个响应对象; JSON 数据可用 data
。
您不能只将完整的响应对象传递给 Papa 并期望得到合理的结果。
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);