0

我有这个 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; 
}    

在这里,我错过了鲜花阵列部分。解析器无法获取值列表。我该如何解决?

4

1 回答 1

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>();
    }
}    
于 2013-04-25T11:40:52.573 回答