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

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

HarmonyOS
4天前
浏览
收藏 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"');

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

分享
微博
QQ
微信
回复
4天前
相关问题
HarmonyOS JSON解析number丢失精度
75浏览 • 1回复 待解决
HarmonyOS json解析异常
320浏览 • 1回复 待解决
HarmonyOS json解析问题
251浏览 • 1回复 待解决
HarmonyOS使用json解析报错
640浏览 • 2回复 待解决
HarmonyOS 如何解析json字符串?
63浏览 • 1回复 待解决
如何对JSON数据进行解析优化
627浏览 • 1回复 待解决
嵌套JSON字符串解析问题
1858浏览 • 1回复 待解决
如何解析JSON字符串?
1013浏览 • 1回复 待解决
HarmonyOS JSON.parse 返回类型问题
60浏览 • 1回复 待解决
PostgreSQL json 类型查询
4017浏览 • 2回复 待解决
HarmonyOS 服务端JSON字符串解析问题
380浏览 • 1回复 待解决
HarmonyOS string 转 number
615浏览 • 1回复 待解决