@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. JSON을 처리하는 자바 코드
for (String key : focusAreaKeys) {
JsonElement sectionElement = sectionsJsonObject.get(key);
FocusArea focusArea = gson.fromJson(sectionElement, FocusArea.class);
}