2016-06-30 9 views
0

JsonGsonをオブジェクトに解析中にエラーが発生しました。 私は何をしようとしています緯度経度ダブルの変数が格納されていますが、解析中にエラーが発生しています。私はクラス変数と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()); 
        } 
       } 
     ); 

誰かがどのように私はこれを解決することができます考えている?

+0

この 'Bar.lat'にはどこにアクセスしていますか?どこでgsonに変換していますか? –

+1

文字列としての値を入れて、それをダブルに変換しようとします。 –

+3

エラーが特に発生する場所をいくつか表示します... – Vucko

答えて

0

問題はありますが、バー配列には1つの要素しか含まれていませんが、9行目にはカンマがあり、別の要素が続くはずです。

+0

私はそれを試しました。 –

+0

はい申し訳ありませんが、jsonのfirs要素をコピーして例として表示します – Ishidad

0

私は開発者の友人にコードを見てみると、コードに問題やエラーが見つからないので、デバイスにインストールされているアプリケーションを削除してプロジェクトを再構築して問題を解決してください。

お返事ありがとうございます。