有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java需要对字符串中的双精度或某些特殊字符进行转义

我想用带有特殊字符的字符串转换来自服务器的推送消息

在使用文本之前,我使用JSONObject对其进行转换

这是我从服务器发来的消息:

{"aps":{"alert":{"body":**"push message 4 test Close Notification in \"Android\" PU45"**,"action-loc-key":"OK","screenId":"110","sdata":"sid=SER020","launch-image":"appicon"},"sound":"ring1"}}

粗体突出显示的是我的字符串。我想转义字符串中的双引号,因为在弹出窗口中显示时,子字符串Android应该显示为带有双引号的文本

在这个问题上有什么可以帮忙的吗

提前谢谢大家, 贾纳丹


共 (2) 个答案

  1. # 1 楼答案

    为什么不在从服务器本身发送时删除引号呢。查看this

    例如:要在android模式之前和之后添加Quote,请执行以下操作

    Pattern p = Pattern.compile("\"([^\"]*)\"");
    Matcher m = p.matcher(line);
    while (m.find()) {
      String fetched = "\"+m.group+"\"";
      System.out.println(fetched);
    }
    
  2. # 2 楼答案

    String jsonString = "YOUR JSON HERE";
    JsonObject json = new JsonObject(jsonString);
    JsonObject aps = json.getJsonObject("aps");
    JsonObject alert = aps.getJsonObject("alert");
    String body = alert.getString("body");
    
    body.replace("\"", "");