java - Android转义字符串中的字符

标签 java android escaping

根据 json documenation一些字符应该使用反斜杠进行转义,否则,服务器会返回某种错误:"Invalid JSON syntax"

要将字符串转换为带有转义字符的 JSON 格式字符串,我使用以下实现:

private String getEscapedString(String value) {
    try {
        String str = JSONObject.quote(value);
        return str.substring(1,str.length()-1);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

因此,它将 " 转换为 \",将 \ 转换为 \\ 等等。

但我认为这不是转义字符串中字符的最佳方法。您能否建议一个更好的转义字符解决方案?

最佳答案

您可以将 JsonObject 发送到服务器,因此其中没有转义字符。

比如我们要发送的json是这样的

{"filter": {}}

那么JsonObject就是

JsonObject jsonObjectmain = new JsonObject();
JsonObject jsonObjectitems = new JsonObject();
jsonObjectmain.add("filter", jsonObjectitems);

关于java - Android转义字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54460423/

相关文章:

asp.net - web.config 连接字符串中的转义引号

syntax - 从历史上看,为什么反斜杠 (\) 是转义字符?

java - System.out.println() 在 Windows 中不起作用

java - Android XML Reader 读取一次

php - 在 PHP 中添加了额外的反斜杠

android - 包管理器找不到已知的包名称

java - Android 画图应用程序数组

创建 Canvas 的 Java 挑战

java - 如何使用另一个类或函数中的 HashMap?

java - 在Java中使用PreparedStatement监听批量查询