我有这个 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;
}
这里我错过了花朵数组部分。解析器无法获取值列表。怎么解决?
最佳答案
问题是您定义了 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>();
}
}
关于java - 将 JSON 解析为 java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16213723/