java.lang.NumberFormatException:预期为int但在第1行第8454行为0.6

时间:2016-01-29 22:50:58

标签: java android gson retrofit retrofit2

我在演示项目中使用改装库进行调用。

我收到以下错误:

  

java.lang.NumberFormatException:预期为int但在第1行第8454行为0.6。$ .result.results.ads [2] .acres

我认为这归功于GSON。

我会告诉你它被抓住的JSON:

   {  
       "ad_id":739580087654,
       "property_type":"site",
       "house_type":"",
       "selling_type":"private-treaty",
       "price_type":"",
       "agreed":0,
       "priority":2,
       "description":"Beautiful elevated 0.6 acre site - zoned residential - and within easy walk to this popular and scenic coastal village\r\n\r\n\r\nthe site area is zoned residential ( i.e. can be constructed on for residential home) and has beautiful coastal views\r\n\r\nSpiddal is an exceptionally popular location , just 8 miles west of Galway City but the area has not been over developed.\r\n\r\nAll services and family amenities are location in the village centre.\r\n\r\n",
       "price":135000,
       "bedrooms":null,
       "bathrooms":null,
       "tax_section":"0",
       "square_metres":0,
       "acres":0.6,   <----------------------TRIPPING UP HERE
       "features":[  
          "Zoned residential",
          "within easy walk of coastal village of Spiddal",
          "with coastal views"
       ],
       "ber_rating":"",
       "ber_code":"",
       "ber_epi":0,             
       "city":"",
       "general_area":"Connemara",
       "postcode":null,
       "latlon_accuracy":1,
       "main_email":"",
       "cc_email":"",
       "auction_address":"",
       "start_date":1384425002,
       "listing_date":1384425002,
       "agreed_date":0,
       "auction_date":0,
       "tags":1
    },

我没有经验丰富的Retrofit所以决定学习和整合这个项目。

有人会有什么建议吗?

我无法控制发送的JSON。

2 个答案:

答案 0 :(得分:16)

尝试使用floatdouble代替int; 0.6不是整数,它是小数。请注意,java会自动将小数解释为doubles;浮点的一个例子是0.6f

答案 1 :(得分:1)

那是因为解析器期待int,而它获得的实际值是float。您可以做的是,在模型中将该值的类型从int更改为float

这可能会在您使用该值的任何地方导致代码出现问题。您可以通过将浮点值转换为整数来解决它。