0

我无法从 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}

我想检索这些“表”和“请求”。

4

0 回答 0