从字符串显示中删除反斜杠(gson)

use*_*530 3 java json gson

我有清单

Gson gson = new Gson();

List<String> exampleList = new ArrayList<String>();
exampleList.add("aaa");
exampleList.add("bbb");
exampleList.add("ccc");

JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("test", gson.toJson(exampleList));
Run Code Online (Sandbox Code Playgroud)

而jsonObject是{"test":"[\"aaa \",\"bbb \",\"ccc \"]"}

但我需要得到以下{"test":["aaa","bbb","ccc"]}

这样做的方法是什么?

replaceAll在几个方面都没有解决这个问题

Ale*_* C. 5

您正在添加键值映射String -> String,这就是引号被转义的原因(实际上您的值是toString()方法给出的列表的字符串表示形式).如果需要映射String -> Array,则需要将列表转换为a JsonArray并将其添加为属性.

jsonObject.add("test", gson.toJsonTree(exampleList, new TypeToken<List<String>>(){}.getType()));
Run Code Online (Sandbox Code Playgroud)