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

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

HarmonyOS
2024-11-04 10:11:41
浏览
收藏 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
微信
回复
2024-11-04 17:14:41
相关问题
HarmonyOS JSON解析number丢失精度
670浏览 • 1回复 待解决
HarmonyOS json 解析
303浏览 • 1回复 待解决
HarmonyOS json解析异常
754浏览 • 1回复 待解决
HarmonyOS newValue.width何时是number类型
465浏览 • 1回复 待解决
HarmonyOS 关于json解析问题
186浏览 • 1回复 待解决
HarmonyOS JSON数据解析问题
322浏览 • 1回复 待解决
HarmonyOS json解析问题
738浏览 • 1回复 待解决
HarmonyOS使用json解析报错
1789浏览 • 2回复 待解决
HarmonyOS json解析特殊字符
276浏览 • 1回复 待解决
HarmonyOS Long类型number的相互转换
399浏览 • 1回复 待解决
HarmonyOS JSON解析实体方法无法调用
370浏览 • 1回复 待解决
HarmonyOS 怎么解析本地文件json内容?
373浏览 • 1回复 待解决
HarmonyOS 超长JSON字符串解析
461浏览 • 2回复 待解决
PostgreSQL json 类型查询
4508浏览 • 2回复 待解决
HarmonyOS 如何解析json字符串?
985浏览 • 1回复 待解决