微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

json字符串转整数

JSON(JavaScript Object Notation)是一种数据格式,被广泛地用于前后端交互。在前端开发中,我们经常需要将字符串转换为数字,本文将介绍如何将JSON字符串转为整数。

var jsonStr = '{"num": 123}'
var jsonObj = JSON.parse(jsonStr)
var num = jsonObj.num //获取数字
console.log(typeof(num)) //'number'

json字符串转整数

上面的代码演示了如何将JSON字符串转为JS对象,然后通过点号获取对象里面的数字(num属性)。最后通过typeof来判断num的类型是否为number。

但如果JSON字符串里面包含了大数字时,由于JS最大的安全整数是Math.pow(2,53),就有可能出现精度丢失的问题,比如:

var jsonStr2 = '{"num": 9007199254740993}'
var jsonObj2 = JSON.parse(jsonStr2)
var num2 = jsonObj2.num
console.log(num2) //9007199254740992

以上代码将9007199254740993这个数字作为属性值,解析结果仍然为9007199254740992。这是因为JS的数字类型采用double-precision 64-bit IEEE 754格式,最大数值只能达到9007199254740992。为了解决这个问题,可以使用JavaScript库bigint-json来处理大数字的问题。

//运用第三方库
const BigIntJSON = require('bigint-json')
var jsonStr3 = '{"num": 9007199254740993}'
var jsonObj3 = BigIntJSON.parse(jsonStr3)
var num3 = jsonObj3.num
console.log(num3) //9007199254740993n

运用这个库我们就可以轻松地处理大数字的JSON字符串,使得整数精度不会有任何损失。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐