在我的nodejs应用程序中,我有一个json对象,其中包含字符串、num和boolean类型的组合。但是boolean和num类型也表示为字符串。
Eg: `{"name":"sam","age":"24","isMarried":"false"}`
这里的age和isMarried是num和boolean类型,但表示为字符串类型。那么有什么办法,可以识别上面的json键值类型并将其转换为相应的变量类型。即
{"name":"sam","age":24,"isMarried":false}
。`
感谢任何帮助。谢谢!
最佳答案
您需要确保实际服务器返回正确的类型,因为 JSON 可以理解 bool 值和整数。
您需要创建 js 函数来处理这个问题。这在 JS 中并不容易,因为它没有 tryParse。
这是一个示例:https://jsfiddle.net/cr4qe1an/
var str = '{"name":"sam","age":"24","isMarried":"false"}';
var obj = JSON.parse(str);
Object.keys(obj).forEach((x) => {
if (obj[x] === 'false' || obj[x] === 'true') {
obj[x] = obj[x] === 'true';
}
if (!isNaN(parseInt(obj[x], 10))) {
obj[x] = parseInt(obj[x], 10); // This is bad, '1abc' will be 1
}
});
关于javascript - 将num或boolean类型的json对象从string类型转换为其原始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39268862/