
json格式化前后不一致的原因
我们在格式化json时发现格式化前后数据存在差异,例如:
{
"total": 12,
"rows": [
{
"id": 9,
"liquidmonitorid": 273003152665484863
},
{
"id": 8,
"liquidmonitorid": 273003152665484865
}
],
"code": 200,
"msg": "查询成功"
}格式化后:
{
"total": 12,
"rows": [
{
"id": "9",
"liquidMonitorId": "273003152665484863"
},
{
"id": "8",
"liquidMonitorId": "273003152665484865"
}
],
"code": "200",
"msg": "查询成功"
}我们发现id和liquidmonitorid字段的值突然变成了字符串。
原因:
javascript中数字类型有一个最大安全值,为number.max_safe_integer,即2的53次方。超过这个值会出现精度问题。
后台返回的数据可能是正确的,但在前台处理时,超过了最大安全值,导致值被转换为字符串。










