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;
}

如果你有更优雅的解决方案请回答