javascript - 将num或boolean类型的json对象从string类型转换为其原始值

标签 javascript json node.js

在我的nodejs应用程序中,我有一个json对象,其中包含字符串、num和boolean类型的组合。但是boolean和num类型也表示为字符串。

Eg: `{"name":"sam","age":"24","isMarried":"false"}`

这里的age和isMarried是num和boolean类型,但表示为字符串类型。那么有什么办法,可以识别上面的json键值类型并将其转换为相应的变量类型。即

{"name":"sam","age":24,"isMarried":false}。`

感谢任何帮助。谢谢!

最佳答案

  1. 您需要确保实际服务器返回正确的类型,因为 JSON 可以理解 bool 值和整数。

  2. 您需要创建 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/

相关文章:

javascript - 了解如何使用 NodeJS 创建一个简单的后端

javascript - getElementById 在节点上不起作用

iphone - 只有 iOS 7 崩溃 [NSNull intValue] : unrecognized selector sent to instance

javascript - AJAX get 请求将每个字母放入数组中

javascript - 每个 ejs 渲染调用上的 "Default"参数?

javascript - 长的单页站点在页面中间而不是顶部打开

javascript - 客户端和服务器在同一个nodejs进程中

javascript - 通过下划线或 JavaScript 实用程序库转换此 JSON?

javascript - eslint 并使用 NODE_PATH 环境变量导入模块

javascript - 这段将多个js文件合并为一个的代码有什么问题吗?