首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gson用反斜杠java序列化问题

Gson用反斜杠java序列化问题
EN

Stack Overflow用户
提问于 2014-02-04 08:35:35
回答 1查看 2.8K关注 0票数 0
代码语言:javascript
复制
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
String path = "/folder1/folder2".replaceAll("/","\\\\/");//for get \/folder1\/folder2
String result = gson.toJson(path);

结果是\/folder2 1\/folder2 2

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-04 08:38:39

您的路径包含反斜杠,这些反斜杠由toJson()转义。当您在另一端反序列化时,您将通过普通的\/folder1\/folder2取消转义得到一个字符串的JSON。我不认为这是一个问题:序列化的目的是在远端获取与在这一端相同的数据。您的输入是\/folder1\/folder2,您的输出也是如此--这需要在整个过程中转义这一事实与此无关。

但是,它确实提出了一个问题,即为什么要在字符串中使用\/。你是想手动避开正斜杠吗?你不需要那样做。我强烈怀疑您应该只使用/folder1/folder2而不进行任何替换。

编辑:从评论中看,您似乎有一个您甚至不理解的条件来转义/。虽然在JSON中转义任何字符都是有效的,但转义/的要求显然是不标准的,我怀疑您将很难找到一个JSON库,它允许您说您需要转义它。

我建议您重新研究将此需求强加于您的任何东西,并尝试修复它,以便它接受标准的JSON,而不逃避/。尝试手动添加额外的转义级别将无法工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21547498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档