Java 有没有一种简单的方法可以反序列化由类似的JsonObject组成的JsonObject,而这些JsonObject实际上应该是由这些对象组成的JsonArray?
好的,我的问题是我请求的json看起来像这样Java 有没有一种简单的方法可以反序列化由类似的JsonObject组成的JsonObject,而这些JsonObject实际上应该是由这些对象组成的JsonArray?,java,android,json,gson,deserialization,Java,Android,Json,Gson,Deserialization,好的,我的问题是我请求的json看起来像这样 {"matthew":{...}}, {"mark":{...}}, {"luke":{...}} [{"matthew":{...}}, {"mark":{...}}, {"luke":{...}}] 它是一个包含多个对象的对象,实际上应该是一个数组,因为所有这些对象都具有相同的结构。非常愚蠢。应该是一个数组,但不幸的是我不能改变这个服务器端,因为它不是我的api 现在如果json看起来像这样 {"matthew":{...}}, {"mark
{"matthew":{...}}, {"mark":{...}}, {"luke":{...}}
[{"matthew":{...}}, {"mark":{...}}, {"luke":{...}}]
它是一个包含多个对象的对象,实际上应该是一个数组,因为所有这些对象都具有相同的结构。非常愚蠢。应该是一个数组,但不幸的是我不能改变这个服务器端,因为它不是我的api
现在如果json看起来像这样
{"matthew":{...}}, {"mark":{...}}, {"luke":{...}}
[{"matthew":{...}}, {"mark":{...}}, {"luke":{...}}]
i、 简单的一个数组,解析起来就容易多了,对吗
public Coin deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context)
throws JsonParseException {
final JsonObject jsonObject = json.getAsJsonObject();
Person person = new Person();
person.name= jsonObject.get("name").getAsString();
person.age= jsonObject.get("age").getAsInt();
return person;
}
如果返回的json是数组,我就是这样解释的。但是如果它是一个物体呢?我正在使用rxjava改造和gson,因此如果有一种简单的方法来实现这一点,它将非常好,这样它看起来与我的其他服务类似,可以轻松地反序列化json数组
我想在响应中添加一个方括号会让它变得更简单,但是随着改装和rxjava,我仍然在学习,我不知道如何做到这一点。。如果所有对象属性都是实际上应该是数组的相同对象结构,那么有没有一种简单的方法将jsonobject解释为jsonarray
希望我解释清楚 在快速查看gson文档后,不知何故获得了名称,它显然类似于
JsonObject.entrySet()
的第一个元素(无论如何应该只有一个元素),然后是MapEntry.getKey()
您面临的问题是什么?Ok更新了问题!在快速查看gson文档后,不知何故获得了名称,它显然类似于JsonObject.entrySet()
的第一个元素(无论如何应该只有一个元素),然后是MapEntry.getKey()
您面临的问题是什么?Ok更新了问题!