我在一个小项目中使用json2csv v5.0.6,我想使用自定义格式化程序格式化一些值,因此我得到了一个干净的CSV文件。
然而,我似乎不能让格式化者发挥作用。我有一个number格式化程序和一个string格式化程序,应该在解析时调用它们。下面是一个示例测试文件,它通过两个简单的格式化程序来再现这种行为:
// test.js
const json2csv = require("json2csv")
const data = [{ name: "John", age: 20 }, { name: "Jessica", age: 32 }]
const customNumberFormatter = () => {
return (value) => {
return "0"
}
}
const customStringFormatter = () => {
return (value) => {
return value[0]
}
}
const csvOpts = {
delimiter: "|",
formatters: {
number: customNumberFormatter,
string: customStringFormatter,
},
}
const parser = new json2csv.Parser(csvOpts)
const csv = parser.parse(data)
console.log(csv)
// console output
"name"|"age"
"John"|20
"Jessica"|32
// expected output
"name"|"age"
"J"|0
"J"|2根据文档,以下内容应该可以工作,但它不能工作。所以我可能做错了什么,但我还没搞清楚是什么。
发布于 2021-12-30 11:02:06
您必须使用alpha版本:json2csv@6.0.0-alpha.0
最近发布的版本与格式化程序有一些问题:https://github.com/zemirco/json2csv/issues/521 (它们不是导出的)
您还必须调用格式化程序函数。
const csvOpts = {
delimiter: "|",
formatters: {
number: customNumberFormatter(),
string: customStringFormatter(),
},
}https://stackoverflow.com/questions/70530202
复制相似问题