未在Java中使用Gson创建有效的JSON

未在Java中使用Gson创建有效的JSON,java,json,gson,Java,Json,Gson,我正在使用GSON库将列表对象转换为JSON对象。但是,它没有正确地创建 Query query = session.createQuery(hql); query.setParameter("id", userId); query.setCacheable(true); List<?> results = query.list(); Gson gson = new Gson(); String json = gson.toJson(results); System.out.prin

我正在使用GSON库将列表对象转换为JSON对象。但是,它没有正确地创建

Query query = session.createQuery(hql);
query.setParameter("id", userId);
query.setCacheable(true);
List<?> results = query.list();
Gson gson = new Gson();
String json = gson.toJson(results);
System.out.println("JSON "+json);

如果我们仔细观察,它的“for values,example“userId”:“{\“Id\”:\“123456\”}”。这应该类似于“userId”:{“Id”:“123456”}…应该怎么做?我可以使用JSONObject库,但不可能使用GSON库吗?有什么想法吗?

列表元素的结构是什么?我猜有问题的部分已经是字符串了。@Henry所有内容都存储在DBi中的varchar中。我试图使用工具查看json,它是有效的,您需要询问t的格式json例如Gson Gson=new GsonBuilder().disableHtmlEscaping().create();@Ran Ita是一个有效的json。但问题在于值,它的附加“”extra不应该用于jsonobject@ran,它仍在为这些值创建额外的“值”
[{"id":2,"uid":"123456","widgetModelList":"[{\"name\":\"Icon Feedback\",\"id\":\"7\"},{\"name\":\"My Projects\",\"id\":\"8\"}]","widgetGalleryList":"[{\"name\":\"Icon Feedback\",\"id\":\"7\"},{\"name\":\"My Projects\",\"id\":\"8\"}]","userId":"{\"Id\":\"123456\"}","defaultWidget":"{\"name\":\"Another New Tasks\",\"icon\":\"icon_task\",\"id\":\"4\"}","others":"{\"role\":\"STAFF\",\"todoInDashboard\":true,\"templateURL\":\"views\\/tasks.html\"}"}]