Gson解析问题一:按String读取0.0时,值为0的问题

本文探讨了从接口获取JSON数据并解析时,浮点数精度丢失的问题。具体表现为原本的double类型的0.0被解析成String时变成了0。文章分析了问题产生的原因在于使用了JSONObject的toString方法时发生的类型转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

当接口返回一个字段如"maxPrice":0.0  我将maxPrice解析为String的时候,直接解析到的数据为0,我觉得应该返回0.0这样的数据的。


为什么会返回0呢?

原来获取opt("data") 数据后, 调用了JSONObject的toString方法,将原本double类型的数据,转成了long  详细可以看numberToString方法。


[{"boardState":{"4-ITV":"1","5-ITV":"1","1-PMU":"1","7-ITV":"0","6-ITV":"0","BL":"1","3-BLC":"1","2-PMU":"0"},"buckData":{"tempBld":"36.00","loadStatItemCountList":[{"allBuckPower":"0"}]},"det375v":"374.08","dynamicAllOutCurr":"-","dynamicAllPower":"-","dynamicTemperature":"30.00","eqm":{"category":"OBU","name":"obu","type":"OBU"},"extendAttr":"{\"ptnResource1\":3,\"ptnResource2\":1000000,\"viewObj\":1}","humidity":"43.50","id":718,"insulRn":"0.000","insulRp":"0.000","itvData":{"itvStatItemCountList":[],"errCode":"0","allOutCurr":"-","allPower":"-"},"jointCurr":"1.001","name":"PN","nameUrl":"/group=1/group=718","ne":{"communicationState":1,"id":3,"ipAddress":"129.9.99.1","neLabel":"jcb","neType":"OTCU A","newAddress":"139.19.8.128","operationState":1,"softVersion":"1.0.0.0","updateTime":1742180835000},"pitchAngle":"10.00","power375":"374.5","pressure":"97.87","rollAngle":"-11.00","staticAllPower":"3500W","staticBandWidth":"100G","staticPortNumber":8,"tempLvpsA":"32.30","tempLvpsB":"33.98","tempPiuA":"37.64","tempPiuB":"38.50","tempSensor":"30.00","tiltAngle":"-12.00","type":"PN"},{"boardState":{"4-ITV":"1","5-ITV":"1","1-PMU":"1","7-ITV":"0","6-ITV":"0","BL":"1","3-BLC":"1","2-PMU":"0"},"buckData":{"tempBld":"36.00","loadStatItemCountList":[{"allBuckPower":"0"}]},"det375v":"374.08","dynamicAllOutCurr":"-","dynamicAllPower":"-","dynamicTemperature":"30.00","eqm":{"category":"OBU","name":"obu","type":"OBU"},"extendAttr":"{\"ptnResource1\":3,\"ptnResource2\":1000000,\"viewObj\":1}","humidity":"43.50","id":718,"insulRn":"0.000","insulRp":"0.000","itvData":{"itvStatItemCountList":[],"errCode":"0","allOutCurr":"-","allPower":"-"},"jointCurr":"1.001","name":"PN","nameUrl":"/group=1/group=718","ne":{"communicationState":1,"id":3,"ipAddress":"129.9.99.1","neLabel":"jcb","neType":"OTCU A","newAddress":"139.19.8.128","operationState":1,"softVersion":"1.0.0.0","updateTime":1742180835000},"pitchAngle":"10.00","power375":"374.5","pressure":"97.87","rollAngle":"-11.00","staticAllPower":"3500W","staticBandWidth":"100G","staticPortNumber":8,"tempLvpsA":"32.30","tempLvpsB":"33.98","tempPiuA":"37.64","tempPiuB":"38.50","tempSensor":"30.00","tiltAngle":"-12.00","type":"PN"}]我有个这样的string,怎么给它变成string[],给这两条json分开
03-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值