格式化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