Java Gson和将列表转换为JSON时出现问题

Java Gson和将列表转换为JSON时出现问题,java,json,jsf,primefaces,Java,Json,Jsf,Primefaces,我正在努力将从Primefaces选取列表生成的字符串转换为JSON Gson gson = new Gson(); System.out.println(gameTaskHotspots.getTarget().toString()); Type type = new TypeToken<List<GameTaskHotspot>>(){}.getType(); if(gameTaskHotspots.getTarget().size

我正在努力将从Primefaces选取列表生成的字符串转换为JSON

   Gson gson = new Gson();

    System.out.println(gameTaskHotspots.getTarget().toString());

    Type type = new TypeToken<List<GameTaskHotspot>>(){}.getType();

    if(gameTaskHotspots.getTarget().size() > 0){
        List<GameTaskHotspot> list = gameTaskHotspots.getTarget();
        selectedTask.input = gson.toJson(list);
    }


    System.out.println(selectedTask.input);
第二个输出是

["co.beek.pano.model.beans.GameTaskHotspot@4697b22e","co.beek.pano.model.beans.GameTaskHotspot@2b7ab42b","co.beek.pano.model.beans.GameTaskHotspot@344f3665"]
好像它没有正确地读取对象。我尝试使用类型为对象指定Gson,但出现以下错误:

javax.el.ELException:/views/guide/admin.xhtml@246147 actionListener=“#{GuideViewAdminController.saveSelectedTask()}”: java.lang.IllegalArgumentException:无法设置java.lang.String字段 co.beek.pano.model.beans.GameTaskHotspot.id到java.lang.String

顺便说一句,我使用它将Json转换为对象列表,效果非常好

   GameTaskHotspot[] existing = gson.fromJson(type == 0 ? selectedTask.input : selectedTask.output, GameTaskHotspot[].class);

我必须使用转换器将对象转换为JSON

将此添加到选择列表中是有效的

需要使用转换器
   GameTaskHotspot[] existing = gson.fromJson(type == 0 ? selectedTask.input : selectedTask.output, GameTaskHotspot[].class);