2016-06-30 2 views
0

JsonGson으로 구문 분석하는 동안 오류가 발생했습니다. 내가하려고하는 것은 위도 경도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()); 
        } 
       } 
     ); 

누군가이 아이디어를 어떻게 해결할 수 있습니까?

+0

이 'Bar.lat'에 액세스하는 위치를 표시 할 수 있습니까? gson으로 어디로 변환하고 있습니까? –

+1

문자열로 값을 넣은 다음 사용하려고 할 때 double로 변환하십시오. –

+3

오류가 특히 많이 발생하는 곳의 코드를 더 표시하십시오 ... – Vucko

답변

0

문제가 있는지 여부는 모르지만 막대 배열에는 단일 요소 만 포함되어 있지만 줄 9에는 다른 요소 뒤에 오는 쉼표가 있습니다.

+0

시도해 보았습니다. 그냥 비어있는 목록 항목을 만드는 것입니다. –

+0

예 죄송 합니다만 json의 firs 요소를 복사하여 예제로 표시하십시오. – Ishidad

0

개발자 친구에게 코드를 살펴보고 코드에서 문제 나 오류를 찾을 수 없어서 장치에 설치된 응용 프로그램을 삭제하고 프로젝트를 다시 작성하라고 말했습니다. 문제를 해결하십시오.

답변 해 주셔서 감사합니다.