デモプロジェクトでの呼び出しにレトロフィットライブラリを使用しています。
次のエラーを受け取りました:
Java.lang.NumberFormatException:intが必要ですが、1行8列のパスで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
},
私はレトロフィットの経験があまりないので、このプロジェクトを学び、統合することにしました。
誰か提案はありますか?
送信されるJSONを制御することはできません。
float
の代わりにdouble
またはint
を使用してみてください。 0.6
は整数ではなく、10進数です。 Javaは自動的に小数をdoubles
として解釈することに注意してください。浮動小数点数の例は0.6f
。
これは、パーサーがint
を期待しているのに対し、取得した実際の値はfloat
であったためです。あなたができることは、モデルの値のタイプをint
からfloat
に変更することです。
これにより、その値をどこで使用しても、コードで問題が発生する可能性があります。その浮動小数点値を整数にキャストすることで解決できます。