Gson 反序列化为 List<Object>,其中列表的泛型类型作为类名给出
Gson deserialize to List<Object> where generic type of list is given as classname
我需要一个如下形式的函数
List<Object> deserialize(String className, String jsonString){
}
这里的 jsonString 可以像下面这样,className 可以像 com.example.mycontact
[{"name":"myName","mobile":"12344557899"},{"name":"myName","mobile":"12344557899"}]
现在如何使用 gson 将其转换为联系人列表。请注意,它不需要在不同的呼叫中联系。
终于找到解决办法了。
List<Object> deserialize(String className, String jsonString){
JsonParser parser = new JsonParser();
JsonArray jsonArray = (JsonArray) parser.parse(jsonString);
Iterator<JsonElement> iterator = jsonArray.iterator();
List<Object> list = new ArrayList<>();
while (iterator.hasNext()) {
list.add(gson.fromJson(iterator.next(), className));
}
return list;
}
如果你有更优雅的解决方案请回答
我需要一个如下形式的函数
List<Object> deserialize(String className, String jsonString){
}
这里的 jsonString 可以像下面这样,className 可以像 com.example.mycontact
[{"name":"myName","mobile":"12344557899"},{"name":"myName","mobile":"12344557899"}]
现在如何使用 gson 将其转换为联系人列表。请注意,它不需要在不同的呼叫中联系。
终于找到解决办法了。
List<Object> deserialize(String className, String jsonString){
JsonParser parser = new JsonParser();
JsonArray jsonArray = (JsonArray) parser.parse(jsonString);
Iterator<JsonElement> iterator = jsonArray.iterator();
List<Object> list = new ArrayList<>();
while (iterator.hasNext()) {
list.add(gson.fromJson(iterator.next(), className));
}
return list;
}
如果你有更优雅的解决方案请回答