我有 JSON,其中所有值都必须更改为字符串。这些值可以是数字、 bool 值、未定义或 null。
{
"obj1": [{
"n1": "n",
"n2": 1,
"n3": true
},
{
"n1": "n",
"n2": 1,
"n3": null
}]
}
预期结果是所有值都应格式化为字符串
。
示例:
{
"obj1": [{
"n1": "n",
"n2": "1",
"n3": "true"
},
{
"n1": "n",
"n2": "1",
"n3": "null"
}]
}
通过迭代 JSON 对象,我们可以做到这一点,但是有没有更简单的方法来做到这一点。
最佳答案
你可以采取JSON.stringify
使用替换函数并检查值是否是数字,然后采用字符串值,或者只是值。
var object = { obj1: [{ n1: "n", n2: 1, n3: true }, { n1: "n", n2: 1, n3: null }] },
json = JSON.stringify(object, (k, v) => v && typeof v === 'object' ? v : '' + v);
console.log(json);
console.log(JSON.parse(json));
关于javascript - 如何将所有 json 值转换为字符串而不进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53686038/