【发布时间】:2018-05-22 10:16:24
【问题描述】:
我正在使用 GSON 来解析 JSON 字符串,但有一个键包含 Json,它有时是对象,有时是数组。 所以请帮助我使用 gson 将其解析为模型类。
与数组共鸣
{
"key" : "test",
"value" : [
{
"id" : 1,
"name": "abc"
},
{
"id" : 2,
"name": "xyz"
}
]
}
与对象产生共鸣
{
"key" : "test",
"value" : {
"id" : 1,
"name": "abc"
}
}
MyModel.java
public class MyModel implements Serializable {
@SerializedName("key")
@Expose
public String key;
@SerializedName("value")
@Expose
public ArrayList<ValueModel> value;
public class ValueModel implements Serializable {
@SerializedName("id")
@Expose
public String id;
@SerializedName("name")
@Expose
public String name;
}
}
但由于数据类型数组和对象,它总是进入异常状态 我也尝试过使用 JsonDeserializer 但我认为我没有很好地实现它 所以请帮我解决它并解析json
【问题讨论】:
-
简单的方法只是改变后端的响应要求您的后端开发人员每次都以相同的格式给出响应
-
我正在使用第三方 API,它有这种类型的响应。我怎样才能告诉他为我改变回应?
-
你知道在什么情况下
object会出现而不是array,反之亦然吗? -
只有一个值的时候变成object else Array
-
我也需要回答同样的问题。