首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在javascript中使用json2csv格式化值?

如何在javascript中使用json2csv格式化值?
EN

Stack Overflow用户
提问于 2021-12-30 10:13:36
回答 1查看 487关注 0票数 0

我在一个小项目中使用json2csv v5.0.6,我想使用自定义格式化程序格式化一些值,因此我得到了一个干净的CSV文件。

然而,我似乎不能让格式化者发挥作用。我有一个number格式化程序和一个string格式化程序,应该在解析时调用它们。下面是一个示例测试文件,它通过两个简单的格式化程序来再现这种行为:

代码语言:javascript
复制
// 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

根据文档,以下内容应该可以工作,但它不能工作。所以我可能做错了什么,但我还没搞清楚是什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-30 11:02:06

您必须使用alpha版本:json2csv@6.0.0-alpha.0

最近发布的版本与格式化程序有一些问题:https://github.com/zemirco/json2csv/issues/521 (它们不是导出的)

您还必须调用格式化程序函数。

代码语言:javascript
复制
const csvOpts = {
    delimiter: "|",
    formatters: {
        number: customNumberFormatter(),
        string: customStringFormatter(),
    },
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70530202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档