Gson .JsonSyntaxException-java.lang.NumberFormatException:无效的double:“" [英] Gson .JsonSyntaxException - java.lang.NumberFormatException: Invalid double: ""

查看:100
本文介绍了Gson .JsonSyntaxException-java.lang.NumberFormatException:无效的double:“"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我运行此代码并崩溃.你能帮我吗?

I run this code and have crash. Do you can help me?

public class RepairCostsData {

@Expose
private int month;
@Expose
private int month_id;
@Expose
private int year;
@Expose
private double summa;
@Expose
private double detail_price;
@Expose
private double job_price;

...

调用此类的Gson().fromJson()

RepairCostsData[] repairCostsData = new Gson().fromJson(jsonObject.getJSONArray(DATA).toString(),
                                                                RepairCostsData[].class);

**来自服务器的JSON **

**JSON from server **

[{"month":","month_id":"3","year":"2014","detail_price":0,"job_price":0,"summa":0},{"month :"," month_id:" 4," year:" 2014," detail_price:0," job_price:0," summa:0},{" month:"," month_id :" 5," year:" 2014," detail_price:0," job_price:0," summa:0},{" month:"," month_id:" 6," year:" 2014," detail_price:0," job_price:0," summa:0},{" month:"Июль," month_id:" 7," year:" 2014","detail_price":"250.00","job_price":0:"summa":250},{"month":","month_id":"8","year":"2014","detail_price": 0,"job_price":0,"summa":0}]

[{"month":"","month_id":"3","year":"2014","detail_price":0,"job_price":0,"summa":0},{"month":"","month_id":"4","year":"2014","detail_price":0,"job_price":0,"summa":0},{"month":"","month_id":"5","year":"2014","detail_price":0,"job_price":0,"summa":0},{"month":"","month_id":"6","year":"2014","detail_price":0,"job_price":0,"summa":0},{"month":"Июль","month_id":"7","year":"2014","detail_price":"250.00","job_price":0,"summa":250},{"month":"","month_id":"8","year":"2014","detail_price":0,"job_price":0,"summa":0}]

日志

 com.google.gson.JsonSyntaxException: java.lang.NumberFormatException:
   Invalid double: ""
               at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:232)
               at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:222)
               at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
               at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
               at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
               at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72)
               at com.google.gson.Gson.fromJson(Gson.java:791)
               at com.google.gson.Gson.fromJson(Gson.java:757)
               at com.google.gson.Gson.fromJson(Gson.java:706)
               at com.google.gson.Gson.fromJson(Gson.java:678)
               at com.DriverNotes.AndroidMobileClientTest.model.server.statistics.RepairCosts.<init>(RepairCosts.java:29)
               at com.DriverNotes.AndroidMobileClientTest.model.server.statistics.RepairCostsStatistics.<init>(RepairCostsStatistics.java:20)
               at com.DriverNotes.AndroidMobileClientTest.network.VolleyServerConnector$48$1.run(VolleyServerConnector.java:780)
               at java.lang.Thread.run(Thread.java:856)

此行崩溃:

RepairCostsData[] repairCostsData = new Gson().fromJson(jsonObject.getJSONArray(DATA).toString(),
                                                                RepairCostsData[].class);

推荐答案

"job_price":"0.00"不是双精度字,而是字符串,

"job_price":"0.00" is not a double but a string,

更改为

"job_price": 0.00

这篇关于Gson .JsonSyntaxException-java.lang.NumberFormatException:无效的double:“"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆