gpt4 book ai didi

java.lang.ClassCastException : com. google.gson.internal.LinkedTreeMap 无法转换为模型

转载 作者:行者123 更新时间:2023-11-30 02:51:14 31 4
gpt4 key购买 nike

查看 Stackoverflow 问题后,我找不到任何解决此问题的解决方案。

我正在尝试使用 GSON 并实现了如下通用方法:

public <T> List<T> deserializeList(String json) {
Gson gson = new Gson();
Type type = (new TypeToken<List<T>>() {}).getType();
return gson.fromJson(json, type);
}

对此方法的调用是通过以下方式完成的:

parser.<Quote>deserializeList(result)

但是我得到的结果是这样的:

enter image description here

当我尝试访问对象时,出现此错误:

 java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to model.Quote

JSON 字符串是:

[
{
"id": 269861,
"quote": "People living deeply have no fear of death.",
"author": "Anais Nin",
"genre": "life",
"tag": null,
"createdAt": "2016-04-16T13:13:36.928Z",
"updatedAt": "2016-04-16T13:13:36.928Z"
}
]

最佳答案

我认为你可以像这样编写方法来显式提供 Type

public <T> List<T> deserializeList(String json, Type type) {
Gson gson = new Gson();
return gson.fromJson(json, type);
}

不过,传递(new TypeToken<List<Model>>() {}).getType();看起来有点乱。

我对类型删除不太熟悉,但我敢打赌这与问题有关。

关于java.lang.ClassCastException : com. google.gson.internal.LinkedTreeMap 无法转换为模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38579491/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com