JsonとGsonをオブジェクトに解析中にエラーが発生しました。 私は何をしようとしています緯度経度ダブルの変数が格納されていますが、解析中にエラーが発生しています。私はクラス変数とgsonを文字列に変更しようとしましたが、同じエラーが発生しています。 jsonがgithubに載っています。Gson JsonSyntaxException:java.lang.NumberFormatException
私が手にエラーがある:
com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: Expected an int but was 32.93644801 at line 7 column 22 path $.bars[0].lat
JSONデータは次のとおりです。
{
"bars":[
{
"name": "Antares Pichincha",
"place_id": "ChIJOR29Pk-rt5UR0hsdFVQWpD8",
"logo_src": "antares",
"lat": -32.936448000001,
"lng": -60.6587110
}
]
}
とデータをrecivingクラスは
public class BarList {
//@SerializedName("bars")
List<Bar> bars;
public List<Bar> getBars(){
return bars;
}
}
public class Bar {
private String name;
private String place_id;
private String logo_src;
private double lat;
private double lng;
public Bar(String name, String place_id, String logo_src, double lat, double lng) {
this.name = name;
this.place_id = place_id;
this.logo_src = logo_src;
this.lat = lat;
this.lng = lng;
}
であり、ここで、私はそれを呼び出す場所です
GsonRequest<BarList> request = new GsonRequest<BarList>(
JSON_URL,
BarList.class,
null,
new Response.Listener<BarList>() {
@Override
public void onResponse(BarList response) {
barList = response;
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(MapsActivity.this);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d(TAG, "Error Respuesta en JSON: " + error.getMessage());
}
}
);
誰かがどのように私はこれを解決することができます考えている?
この 'Bar.lat'にはどこにアクセスしていますか?どこでgsonに変換していますか? –
文字列としての値を入れて、それをダブルに変換しようとします。 –
エラーが特に発生する場所をいくつか表示します... – Vucko