java - 如何在java中的json对象值中显示反斜杠 - 非法转义JSONException

标签 java json

如何在java中显示json值中的反斜杠。我收到 org.json.JSONException: Illegal escape。在 9 处使用以下示例代码。 我正在使用 json 1.0.0 jar - org.json

    String s1 = "{'Hi':'\\ksdfdsfsdfdfg'}";
    int i = (int) '/';
    System.out.println(s1);
    try
    {
        JSONObject json = new JSONObject(s1);
    }
    catch (JSONException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

最佳答案

您需要两个反斜杠才能在 Java 字符串文字 "\\" 中生成一个反斜杠,并且您需要加倍反斜杠才能在 JSON 字符串中获得一个反斜杠(因为 JavaScript 对于以下方面有类似的规则):反斜杠转义和字符串文字(如 Java),因此,您需要四个反斜杠:

String s1 = "{'Hi':'\\\\ksdfdsfsdfdfg'}";

如果你这样做:

String s1 = "{'Hi':'\\\\ksdfdsfsdfdfg'}";
try {
    JSONObject json = new JSONObject(s1);
    System.out.println(json.get("Hi"));
} catch (JSONException e) {
    e.printStackTrace();
}

它打印:

\ksdfdsfsdfdfg

关于java - 如何在java中的json对象值中显示反斜杠 - 非法转义JSONException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51076711/

相关文章:

java - 将 json 插入谷歌电子表格

mysql - 如何将 select 语句结果转换为 JSONARRAY 并更新另一个表

java - 转换为 String 和 String.valueOf 之间的区别

java - groovy grails异步 promise 立即执行

Java ExecutorCompletionService 作为 API 响应程序

Java代码1+问题

java - 在 ArrayList 中保存唯一字符串列表

c# - 如何使用 System.Runtime.Serialization.Json 解析这个字符串?

javascript - React-Native 需要中断生产警告

c# - 将 JSON 反序列化为几个 C# 子类之一