需要转义String中的double或一些特殊字符

时间:2013-12-10 10:40:10

标签: java android

我想从服务器转换带有特殊字符的字符串的推送消息。

我在使用文字之前使用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应该在弹出窗口中显示为带有double的文本。

可以帮忙解决这个问题吗?

先谢谢大家, Janardhan。

2 个答案:

答案 0 :(得分:1)

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("\"", "");

答案 1 :(得分:0)

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

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

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