Json을 Gson으로 구문 분석하는 동안 오류가 발생했습니다. 내가하려고하는 것은 위도 경도을 double 변수에 저장하지만 구문 분석하는 동안 오류가 발생합니다. 나는 클래스 변수와 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
}
]
}
하고 데이터를 기기 수령 클래스는
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으로 어디로 변환하고 있습니까? –
문자열로 값을 넣은 다음 사용하려고 할 때 double로 변환하십시오. –
오류가 특히 많이 발생하는 곳의 코드를 더 표시하십시오 ... – Vucko