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

标签 java json gson

我有 list

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));

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

但我需要得到关注 {“测试”:[“aaa”,“bbb”,“ccc”]}

有什么方法可以做到这一点?

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

最佳答案

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

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

关于java - 从字符串(gson)的显示中删除反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34201080/

相关文章:

java - json(gson)parse 解析时改变数据类型

java - EmbeddedKafkaRule没有brokerListProperty方法

java - Java 中使用 float 作为守卫的奇怪输出

Java - 获取单个 XML 值

javascript - ejs获取嵌套对象

java - 如何在java中自定义使用Gson对象创建的json

java - Gson TypeToken 是如何工作的?

java - 如何在共享库中实现 JSON 功能,而无需硬连接第三方依赖项

Android读取大型csv文件并将数据发送到服务器的最有效方法(不上传文件)

json - 如何设置 JsonRequestBehavior.AllowGet 并返回 JsonResult