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丢失精度
377浏览 • 1回复 待解决
HarmonyOS json解析异常
530浏览 • 1回复 待解决
HarmonyOS使用json解析报错
1335浏览 • 2回复 待解决
HarmonyOS json解析问题
466浏览 • 1回复 待解决
HarmonyOS newValue.width何时是number类型
238浏览 • 1回复 待解决
HarmonyOS 怎么解析本地文件json内容?
176浏览 • 1回复 待解决
HarmonyOS 如何解析json字符串?
542浏览 • 1回复 待解决
HarmonyOS json对象转map类型
154浏览 • 1回复 待解决
嵌套JSON字符串解析问题
2040浏览 • 1回复 待解决
如何解析JSON字符串?
1264浏览 • 1回复 待解决
PostgreSQL json 类型查询
4182浏览 • 2回复 待解决
如何对JSON数据进行解析优化
780浏览 • 1回复 待解决
HarmonyOS 服务端JSON字符串解析问题
570浏览 • 1回复 待解决
HarmonyOS JSON.parse 返回类型问题
447浏览 • 1回复 待解决