Дали JPA затмение 4.4 изменения

Мне удалось получить сопоставление списка для работы с использованием только @SerializedName для всех полей. Никакой логики вокруг Type не было.

Запуск кода - на шаге # 4 ниже - через отладчик я могу заметить, что объект List<ContentImage> mGalleryImages, заполненный данными JSON

Вот пример:

1. JSON

   {
    "name": "Some House",
    "gallery": [
      {
        "description": "Nice 300sqft. den.jpg",
        "photo_url": "image/den.jpg"
      },
      {
        "description": "Floor Plan",
        "photo_url": "image/floor_plan.jpg"
      }
    ]
  }

2. Класс Java со списком

public class FocusArea {

    @SerializedName("name")
    private String mName;

    @SerializedName("gallery")
    private List<ContentImage> mGalleryImages;
}

3. Класс Java для элементов списка

public class ContentImage {

    @SerializedName("description")
    private String mDescription;

    @SerializedName("photo_url")
    private String mPhotoUrl;

    // getters/setters ..
}

4. Java-код, обрабатывающий JSON

    for (String key : focusAreaKeys) {

        JsonElement sectionElement = sectionsJsonObject.get(key);
        FocusArea focusArea = gson.fromJson(sectionElement, FocusArea.class);
    }
0
задан Kiril 25 February 2015 в 12:12
поделиться