Impossible d'analyser tableau Json à l'aide de Gson

J'ai ce tableau json:

 [
{
"id":18,
"city":"הרצליה",
"street":"החושלים 1",
"zipcode":121209,
"state":"IL",
"lat":32.158138,
"lng":34.807838
},
{
"id":19,
"city":"הרצליה",
"street":"אבא אבן 1",
"zipcode":76812,
"state":"IL",
"lat":32.161041,
"lng":34.810410
}
]

Et j'ai cette classe afin de conserver les données:

public class MapData {
private int id;
private String city;
private String street;
private String state;
private int zipcode;
private double lat;
private double lng;
public MapData(int id, String city, String street, String state,
int zipcode, double lat, double lng) {          
this.id = id;
this.city = city;
this.street = street;
this.state = state;
this.zipcode = zipcode;
this.lat = lat;
this.lng = lng;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public int getZipcode() {
return zipcode;
}
public void setZipcode(int zipcode) {
this.zipcode = zipcode;
}
public double getLat() {
return lat;
}
public void setLat(double lat) {
this.lat = lat;
}
public double getLng() {
return lng;
}
public void setLng(double lng) {
this.lng = lng;
}
}   

Je suis en train de convertir au format json dans une Liste de MapData objets:

Type type = new TypeToken<List<MapData>>(){}.getType();
return gson.fromJson(jsonString, type);

Mais j'obtiens cette erreur:

java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to com.deliveries.models.MapData

Ce que je fais mal?

Type d'effacement. Gson sait qu'il a pour désérialiser java.util.Liste, mais n'a aucune idée, quels objets doit-il mis en elle, de sorte qu'il utilise en interne les types.
mais je lui ai dit que ses une Liste<MapData>, et selon Gson docs c'est la façon de le faire?!
Est-ce que votre méthode de retour MapData ou List<MapData>? Je soupçonne que vous renvoie peut-être le mauvais type.
Vous avez un point là, il est en fait une méthode générique (simplifié pour cet exemple), et je passe le tout dans un seul type d'objet, pas un type de liste
Voir la réponse que je viens de poster. Il contient un RÉSUMÉ avec un exemple de travail. J'ai fait foirer le jeu de caractères différent, mais je ne pense pas que serait la cause d'un problème.

OriginalL'auteur Tomer | 2013-07-15