我有一个名为Test的类,它有一个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);就像这样,我想将Map添加到其中。像jsonObject.addProperty("map", String.valueOf(test.getMap()));这样的加法并不能正确完成工作,因为它在开头和结尾加了“(逗号)。谁能告诉我正确的方法是什么?”
发布于 2014-03-17 04:51:06
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。
https://stackoverflow.com/questions/22441134
复制相似问题