我有一个名为Test的课程,其中包含String id
字段和HashMap map
,例如Map<String, String[]>
,Map<String, ArrayList<String>>
和Map<String, HashMap>
(此处为第二个{{1} }}是HashMap
一个)我有以下代码。
<String, Integer>
像这样,我想将Map添加到此。像JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("id", test.getId);
这样的添加无法正常工作,因为它会在开头和结尾添加&#34;(逗号)。有人可以告诉我这样做的正确方法是什么?
答案 0 :(得分:5)
JsonObject
使用add
方法添加基元,但只有一个add
方法来添加复杂类型。这种方法需要JsonElement
,这就是你必须要创建的东西。
JsonObject jsonObject = new JsonObject();
Gson gson = new Gson();
JsonElement jsonElement = gson.toJsonTree(test.getMap());
jsonObject.add("map", jsonElement);
我不知道你为什么这么做。在上一个问题中,我向您展示了如何从Test
类生成完整的JSON。
您可以使用
gson.toJsonTree(test);
将JSON设为JsonElement
,您可以将其转换为JsonObject
。