我需要以 JSON 格式发送日期。日期字符串应如下所示:
"2013/5/15"
相反,JSONObject.toString
将其转义如下:
"2013\ /5\ /15"
我知道这样做是为了允许脚本标签中包含 json 字符串,正如这个问题所解释的: JSON: why are forward slashes escaped?
但就我而言,我不需要它。事实上,服务器正在返回一个错误。服务器没有处理这个,我无法修复服务器,所以我必须在移动客户端代码中修复它。
我可以在序列化之后执行 String.replace
,但如果我真的想在 JSON 的任何其他部分包含“\/”字符串怎么办?
有没有办法在不转义斜杠的情况下序列化 JSON 对象? (如果可能,不要转义)
提前致谢。
最佳答案
我最终选择了在将序列化字符串发送到服务器之前替换转义斜杠的快速而肮脏的技巧。幸运的是,JSONObject 也转义了反斜杠,所以我也必须取消转义它们。现在,如果我想故意发送“\/”,转义字符串将是“\\/”,替换的结果是预期的原始字符串。
关于java - JSONObject.toString : how NOT to escape slashes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16563579/