HarmonyOS JSON解析number类型过长被进位补零

我在调用JSON.parse(jsonStr)方法时,jsonStr中的某个id为924471109825262676,调用方法后解析的object对象id为924471109825262700,id被进位后补零了。

HarmonyOS
2024-11-04 10:11:41
1296浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

​需要在JSON字符串中明确地将ID表示为字符串。这可以通过在ID周围添加引号来实现。例如,如果JSON字符串是这样的:

{“id”: 924471109825262676}

应该将其更正为:

{“id”: “924471109825262676”}

这样,JSON.parse() 方法就会将ID解析为字符串,而不是整数,从而保持其原始值不变。

为避免精度丢失问题,推荐前端统一类型为String,后端用BigDecimal或BigIntegefr​。

let json = '{"id":4323455642279246233}';  
json = json.replace(/\"id":(\d+)/g,'"id": "$1"');
  • 1.
  • 2.

使用正则表达式把id从数值改为字符串,以避免丢失精度。

分享
微博
QQ
微信
回复
2024-11-04 17:14:41


相关问题
HarmonyOS JSON解析number丢失精度
1280浏览 • 1回复 待解决
HarmonyOS json 解析
792浏览 • 1回复 待解决
HarmonyOS json解析异常
1243浏览 • 1回复 待解决
HarmonyOS JSON数据解析问题
826浏览 • 1回复 待解决
HarmonyOS 关于json解析问题
778浏览 • 1回复 待解决
HarmonyOS newValue.width何时是number类型
891浏览 • 1回复 待解决
HarmonyOS json解析特殊字符
730浏览 • 1回复 待解决
HarmonyOS json解析问题
1179浏览 • 1回复 待解决
HarmonyOS使用json解析报错
2792浏览 • 2回复 待解决
HarmonyOS Long类型number的相互转换
908浏览 • 1回复 待解决
HarmonyOS JSON解析实体方法无法调用
887浏览 • 1回复 待解决
HarmonyOS 超长JSON字符串解析
1341浏览 • 2回复 待解决
HarmonyOS 怎么解析本地文件json内容?
935浏览 • 1回复 待解决
PostgreSQL json 类型查询
5022浏览 • 2回复 待解决
HarmonyOS 如何解析json字符串?
1942浏览 • 1回复 待解决