我无法从 json 中检索对象(使用 gson)。
这是对象的类属性:
abstract class Table {
protected ArrayList<ArrayList<Object>> table;
protected String requete;
我把这个对象放在一个 ArrayList 中,然后放在一个像这样的 json 中:
Gson gson = new Gson();
ArrayList<Table> buffer = new ArrayList<Table>();
buffer.add(this);
try (FileWriter file = new FileWriter(nomTest)) {
gson.toJson(buffer, file);
然后我尝试检索数据:
Gson gson = new Gson();
ArrayList<Table> reponses = null;
FileReader reader = new FileReader(nomTest))
reponses = (ArrayList<Table>) gson.fromJson(reader, new ArrayList<Table>().getClass());
Table buffer = reponses.get(numQuestion-1); //ERROR CAST
但在这里我得到
class com.google.gson.internal.LinkedTreeMap cannot be cast to class evaluateur.Table
在我的情况下,我找不到解决方案。
谢谢您的帮助。
编辑1:
这是 JSON(不要介意 2 个相同的对象):
[
{
"table":[[2.0,"Alain","Verse"],[7.0,"Pierre","Kiroul"]],
"requete":"SELECT * FROM test WHERE age \u003e 40"
},
{
"table":[[2,"Alain","Verse"],[7,"Pierre","Kiroul"]],
"requete":"SELECT * FROM test WHERE age \u003e 40"
}
]
当我使用System.out.println(reponses.get(numQuestion-1));
它给我{table=[[2.0, Alain, Verse], [7.0, Pierre, Kiroul]], requete=SELECT * FROM test WHERE age > 40}
我想检索这些“表”和“请求”。