我有这个JSON,我正在尝试使用GSON解析它的Java类。这是JSON
resp = "{"isVisible":true,"image":{"preferenceOrder":["Rose","Lilly","Lotus"]}}";
我的java解析代码就是这个。
ImageOrderResult result = new Gson().fromJson(resp,ImageOrderResult.class);
这是我定义的类
public class ImageOrderResult {
//Used for general Error Tracing
public String status = "";
public String message = "";
public String errorTrace = "";
public class Image{
@SerializedName("preferenceOrder")
public ArrayList<String> flowers= new ArrayList<String>();
}
@SerializedName("isVisible")
public boolean isVisible= false;
}
这里我错过了花阵列部分。解析器无法获取值列表。我该如何解决?
答案 0 :(得分:2)
问题是您已定义了Image类型,但您的类缺少一个实际“存储”它的引用变量。 您需要像这样定义您的类才能正确序列化:
public class ImageOrderResult {
//Used for general Error Tracing
public String status = "";
public String message = "";
public String errorTrace = "";
@SerializedName("image")
public Image image = null;
@SerializedName("isVisible")
public boolean isVisible= false;
public class Image{
@SerializedName("preferenceOrder")
public ArrayList<String> flowers= new ArrayList<String>();
}
}