我有一个名为测试与类String id字段和HashMap map像 Map<String, String[]>,Map<String, ArrayList<String>>和Map<String, HashMap>(这里第二个HashMap是<String, Integer>一个)我有下面的代码.
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("id", test.getId);
Run Code Online (Sandbox Code Playgroud)
像这样,我想将Map添加到此.添加喜欢jsonObject.addProperty("map", String.valueOf(test.getMap()));不能正常工作,因为它添加"(逗号)开头和结尾.有人可以告诉我这是正确的方法吗?
JsonObject有add添加基元的方法,但只有一种add方法可以添加复杂类型.这种方法需要一个JsonElement你必须创建的东西.
JsonObject jsonObject = new JsonObject();
Gson gson = new Gson();
JsonElement jsonElement = gson.toJsonTree(test.getMap());
jsonObject.add("map", jsonElement);
Run Code Online (Sandbox Code Playgroud)
我不知道你为什么这么做.在上一个问题中,我向您展示了如何从Test类中生成完整的JSON .
您可以使用
gson.toJsonTree(test);
Run Code Online (Sandbox Code Playgroud)
将JSON作为一个JsonElement,你可以强制转换为JsonObject.