我是android新手。我有JSONArray
包含图片和其他属性。我正在尝试将其设置为模型类。
MenuContent singleItem = new MenuContent();
singleItem.setContent(mContentJsonObject.getString(AppConstants.APIKeys.CONTENT));
singleItem.setContentId(mContentJsonObject.getString(AppConstants.APIKeys.PARAGRAPH_ID));
singleItem.setChapterId(mContentJsonObject.getString(AppConstants.APIKeys.CHAPTER_ID));
singleItem.setClassId(getSharedPreference(AppConstants.APIKeys.CLASS_ID));
singleItem.setLanguageId(getSharedPreference(AppConstants.APIKeys.LANGUAGE_ID));
JSONArray mGalleryimages = mContentJsonObject.getJSONArray(AppConstants.APIKeys.PARAGRAPH_GALLERY_IMAGES);
for (int k = 0; k < mGalleryimages.length(); k++) {
JSONObject mGallerycontent=mGalleryimages.getJSONObject(k);
ImageGallery imageGallery = new ImageGallery();
imageGallery.setImageId(String.valueOf(k));
imageGallery.setImagePath(mGallerycontent.getString(AppConstants.APIKeys.PARAGRAPH_GALLERY_CONTENT));
array_image.add(imageGallery);
}
singleItem.setImageGallery(array_image);
singleItem.save();
mParagraphsList.add(singleItem);
问题是我可以将除galleryimages数组之外的所有属性设置为模型类。但是setImageGallery只是不起作用。我在调试时得到null。这是MenuContent模型类片段
ArrayList <ImageGallery> imageGallery;
public ArrayList<ImageGallery> getImageGallery() {
return imageGallery;
}
public void setImageGallery(ArrayList<ImageGallery> imageGallery) {
this.imageGallery = imageGallery;
}
ImageGallery
模型类代码段
public void setImagePath(String imagePath) {
this.imagePath = imagePath;
}
public String getImagePath() {
return imagePath;
}
有谁能告诉我这是什么问题?感谢任何帮助。
答案 0 :(得分:0)
此代码可以转换为2行,众所周知Google Gson Library
瞥一眼。
Type listType = new TypeToken<List<MenuContent>>() {}.getType();
List<MenuContent> yourList = new Gson().fromJson(yourJson, listType);
您不必编写使用密钥解析的长代码。