java.lang.NumberFormatException:应为 int 但在第 1 行第 8454 列为 0.6
java.lang.NumberFormatException: Expected an int but was 0.6 at line 1 column 8454
我在演示项目中使用改造库进行调用。
我收到以下错误:
java.lang.NumberFormatException: Expected an int but was 0.6 at line 1 column 8454 path $.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。
那是因为解析器期望 int
而它得到的实际值是 float
。您可以做的是,在您的模型中将该值的类型从 int
更改为 float
。
这可能会在您使用该值的任何地方导致您的代码出现问题。您可以通过将该浮点值转换为整数来解决它。
尝试使用 float
或 double
而不是 int
; 0.6
不是整数,是小数。请注意 java 自动将小数解释为 doubles
;浮点数的一个例子是 0.6f
.
我在演示项目中使用改造库进行调用。
我收到以下错误:
java.lang.NumberFormatException: Expected an int but was 0.6 at line 1 column 8454 path $.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。
那是因为解析器期望 int
而它得到的实际值是 float
。您可以做的是,在您的模型中将该值的类型从 int
更改为 float
。
这可能会在您使用该值的任何地方导致您的代码出现问题。您可以通过将该浮点值转换为整数来解决它。
尝试使用 float
或 double
而不是 int
; 0.6
不是整数,是小数。请注意 java 自动将小数解释为 doubles
;浮点数的一个例子是 0.6f
.