首页 > 解决方案 > 在Javascript中将“null”字符串替换为null

问题描述

我有一个对象数组,其中某些键的值将是和“null”作为字符串,我想将其转换为null

我正在尝试如下代码

 let obj = [{
                        "fundcode": "DE",
                        "fundname": "Defens",
                        "fundunits": "4944.43463",
                        "fundvalue": "545508.594971714",
                        "nav": "110.3278",
                        "navdeclareddate": "2021-09-01 00:00:00.0"
                    },
                    {
                    "fundcode": "EQ",
                    "fundname": "Equit",
                    "fundunits": "null",
                    "fundvalue": "null",
                    "nav": "null",
                    "navdeclareddate": "null"
                }]
let newJson = Object.keys(obj).map(item =>  obj[item] === "null" ? null : obj[item])

我想要 newJson 如下

[{
                        "fundcode": "DE",
                        "fundname": "Defens",
                        "fundunits": "4944.43463",
                        "fundvalue": "545508.594971714",
                        "nav": "110.3278",
                        "navdeclareddate": "2021-09-01 00:00:00.0"
                    },
{
                    "fundcode": "EQ",
                    "fundname": "Equit",
                    "fundunits": null,
                    "fundvalue": null,
                    "nav": null,
                    "navdeclareddate": null
                }]

标签: javascriptnode.jsarraysjsonmultidimensional-array

解决方案


如果从 json 解析,请尝试reviver函数 inJSON.parse()

let json = `[{
  "fundcode": "EQML",
  "fundname": "Equity Managed Fund",
  "fundunits": "null",
  "fundvalue": "null",
  "nav": "null",
  "navdeclareddate": "null"
}]`

let obj = JSON.parse(json, (k, v) => v === 'null' ? null : v)

console.log(obj)


推荐阅读