2015-01-11 147 views
1

我試圖反序列化JSON字符串到java對象如下異常線程「main」 com.google.gson.JsonSyntaxException:java.lang.NumberFormatException:空字符串

String json="A valid json"; 
Job job = new Gson().fromJson(json, Job.class); 

上述聲明拋出以下例外

Exception in thread "main" com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: empty String 
    at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:241) 
    at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:231) 
    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.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81) 
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60) 
    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.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81) 
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60) 
    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.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81) 
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60) 
    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.Gson.fromJson(Gson.java:803) 
    at com.google.gson.Gson.fromJson(Gson.java:768) 
    at com.google.gson.Gson.fromJson(Gson.java:717) 
    at com.google.gson.Gson.fromJson(Gson.java:689) 
    at com.test.JobValidator.validate(JobValidator.java:10) 
    at com.test.Test.main(Test.java:25) 
Caused by: java.lang.NumberFormatException: empty String 
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1011) 
    at java.lang.Double.parseDouble(Double.java:540) 
    at com.google.gson.stream.JsonReader.nextInt(JsonReader.java:1178) 
    at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:239) 
    ... 24 more 

這裏Job是我爲這個json結構定義的pojo。爲什麼我得到這個異常?如何解決它?

+0

你能告訴類'Job'? – Jens

+0

我認爲這可以是有用的,如果你也顯示json字符串的真實例子 –

回答

相關問題