我想从服务器转换带有特殊字符的字符串的推送消息。
我在使用文字之前使用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。
答案 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);
}