我有清单
Gson gson = new Gson(); ListexampleList = new ArrayList (); exampleList.add("aaa"); exampleList.add("bbb"); exampleList.add("ccc"); JsonObject jsonObject = new JsonObject(); jsonObject.addProperty("test", gson.toJson(exampleList));
而jsonObject是{"test":"[\"aaa \",\"bbb \",\"ccc \"]"}
但我需要得到以下{"test":["aaa","bbb","ccc"]}
这样做的方法是什么?
replaceAll在几个方面都没有解决这个问题
您正在添加键值映射String -> String
,这就是引号被转义的原因(实际上您的值是toString()
方法给出的列表的字符串表示形式).如果需要映射String -> Array
,则需要将列表转换为a JsonArray
并将其添加为属性.
jsonObject.add("test", gson.toJsonTree(exampleList, new TypeToken>(){}.getType()));