java - JSONObject.put(String) 为每个 '\' 添加 '/'

标签 java android json string

<分区>

我刚刚认识到这段代码:

try {
        String jsonString =new JSONObject().put("test","Ha/llo").toString();
    } catch (JSONException e) {
        e.printStackTrace();
    }

输出如下:

{"test":"哈/llo"}

有人知道为什么它为每个/放一个\吗?以及如何获得真正的字符串? 我想要放置的字符串应该很大,所以我不想搜索\将其更改为 ' '

编辑:.get 再次解码并删除额外的“\”,在我的例子中是服务器端问题。

最佳答案

它正在自动转义/字符。当一个有效的 JSON 客户端解析您的字符串时,它应该对它进行转义,从而不会出现任何问题和原始文本。 参见 JSON: why are forward slashes escaped?

关于java - JSONObject.put(String) 为每个 '\' 添加 '/',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59255399/

相关文章:

java - Ebean - 并非所有记录都被返回

java - 从互联网加载数组

java - 像 Uber Android 一样在 map 上旋转标记和移动动画

json - 为什么 docker-compose 不能在 JSON 兼容模式下使用选项卡?

jquery - jqGrid 和 JSON 阅读器

JavaScript - 构建 JSON 对象

java - Windows上的Hadoop:获取异常 “not a valid DFS filename”

java - 如何在 spring boot 中以编程方式设置 defaultLocale

java - Guice:引导和依赖图解析

Java,计算 azure 数据库表中的行数