格式化json,发现格式化前和后不一样?

例子:
`
{

"total": 12,

"rows": [

{

"createBy": null,

"createTime": "2023-10-10 11:33:15",

"updateBy": null,

"updateTime": "2023-10-10 11:33:14",

"remark": null,

"id": 9,

"liquidName": "生活区2#MBR池液位",

"liquidBoxno": "xxx",

"liquidMonitorId": 273003152665484863,

"liquidWarningValue": "0"

},

{

"createBy": null,

"createTime": "2023-10-10 11:32:03",

"updateBy": null,

"updateTime": "2023-10-10 11:32:03",

"remark": null,

"id": 8,

"liquidName": "生活区1#MBR池液位",

"liquidBoxno": "xxx",

"liquidMonitorId": 273003152665484865,

"liquidWarningValue": "0"

}

],

"code": 200,

"msg": "查询成功"

}
`
看图

这也没超出什么位数吧 看了下long的最大是19位 这个是18位 再者说 这json解析没有位数限制吧 不懂

long的长度


回答:

在js中number类型有个最大安全值,为9007199254740992,是2的53次方,可以使用Number.MAX_SAFE_INTEGER获取,如果超过这个值,会出现不精确的问题

后台返回的可能没问题,但是在前台展示,走前台的逻辑,可能就会改变


回答:

java 的 Long 没超,但是 js 的 Number 超了
打开浏览器控制台,查看 Number.MAX_SAFE_INTEGER
我这里 chrome 返回的是 9007199254740991,已经超了两位了
所以,需要返回给浏览器的 json 里的 long,必须用字符串不能用数字

以上是 格式化json,发现格式化前和后不一样? 的全部内容, 来源链接: utcz.com/p/945359.html

回到顶部