【发布时间】:2018-09-20 05:07:06
【问题描述】:
我需要使用 Gson 将 json 字符串解析为 Java 对象(即产品)。这是我的问题:在这两种情况下,产品的 json 字符串将包含项目列表(即 json 数组)或仅包含具有相同 json 键的项目(即 json 对象)。如何在 Product 类中声明项目变量以进行如下解析?如果我声明 List 那么它在 Object 情况下失败,反之亦然。
public class Product {
@SerializedName("item-content")
@Expose
private List<Item> itemsContent = null;
//OR
@SerializedName("item-content")
@Expose
private Item itemContent = null;
}
这就是我如何使用 gson 将 json 转换为模型。
public static <T> T getJavaObjectFromJsonString(String jsonString, Class<T> class1) {
T obj = null;
try {
obj = getGsonInstance().fromJson(jsonString, class1);
} catch (Exception e) {
e.printStackTrace();
}
return obj;
}
public static Gson getGsonInstance() {
if (gson == null) {
gson = new GsonBuilder().setLenient().create();
}
return gson;
}
【问题讨论】:
-
你在 Android 中使用 Gson 吗?
-
是的,我在 Android 中使用 Gson。
-
可以直接根据json响应字符串创建模型类
标签: android arrays json gson jsonexception