在 JSON 响应中将字符串真/假转换为布尔值

Cha*_*rla 0 javascript

我有一个场景,其中 JSON 响应中的许多字段以字符串 ( "true"/"false") 形式出现。

现在我需要替换所有的值从stringBoolean在通过一杆Javascript

样本:

{
    field1: "true",
    field2: "false"
}
Run Code Online (Sandbox Code Playgroud)

预期的:

{
    field1: true,
    field2: false
}
Run Code Online (Sandbox Code Playgroud)

这是一个样本。我的 JSON 响应非常庞大,有许多对象和数组。

Sla*_*lai 7

所述JSON.parse齐磊参数可用于排除或更改值:

var j = '{"field1":"true","field2":"false"}';

var o = JSON.parse(j, (k, v) => v === "true" ? true : v === "false" ? false : v);

console.log(o);
Run Code Online (Sandbox Code Playgroud)