将JSON解析为java类

时间:2013-04-25 11:37:07

标签: java json gson

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

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

1 个答案:

答案 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>();
    }
}