2013-12-10 70 views
0

我想將帶有特殊字符的字符串從服務器轉發推送消息。我使用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應該在彈出窗口中顯示爲帶有雙精度的文本。

可以幫助解決這個問題?

非常感謝, Janardhan。

回答

0

爲什麼不從服務器本身發送引號?檢查this

例如:爲了在android模式之前和之後添加引用,請這樣做。

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

但我需要一個字符串「Android」的應該是在雙引號同時顯示在一個彈出窗口中的用戶。這是我的服務器實際數據: {「aps」:{「alert」:{「body」:推送消息4測試關閉通知在「Android」PU45,「action-loc-key」:「OK」,「screenId 「:」110「,」sdata「:」sid = SER020「,」launch-image「:」appicon「},」sound「:」ring1「}} – Janardhan

+0

這是我在android中的包數據: onMessage消息intent = Bundle [{from = 319471187667,mxkey = {\「aps \」:{\「alert \」:{\「body \」:push message 4 test關閉通知在\「Android \」PU45,\「action -loc密鑰\ 「:\」 OK \ 「\ 」screenId \「:\ 」110 \「 \ 」SDATA \「:\ 」SID = SER020 \「 \ 」啓動圖像\「:\」 APPICON \「},\」聲音\「:\」ring1 \「}},collapse_key = do_not_collapse}] – Janardhan

+0

檢查我發佈的鏈接並添加」之前和之後手動檢索的值 – user1728071

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

非常感謝。讓我嘗試。 – Janardhan

+0

這種方法並沒有爲我工作。 – Janardhan