javascript - 如何将所有 json 值转换为字符串而不进行迭代

标签 javascript json

我有 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/

相关文章:

javascript - Serverless express 关闭 mongodb 连接

javascript - 使用多个 .each 函数将字符串获取到数组

javascript - 在 JavaScript 中实时搜索表中的子字符串

java - HttpMediaTypeNotAcceptableException

c# - 如何在 C# 中转换或编写此 Javascript 数组

javascript - 将 State 添加到我的 React 设置会导致 "./src/Main.js Module build failed"

javascript - Jquery 没有加载?

java - 你如何让 GSON 忽略 null 或空对象以及空数组和列表?

objective-c - 将 JSON 解码为 NSArray 或 NSDictionary

javascript - jQuery UI 自动完成功能不起作用