2011-02-25 60 views
0

我想通過http通過JSONObject發送消息。在json中發回斜槓字符,響應代碼500

JSONObject s=new JSONObject(); 
s.put("addresses", sno); 
s.put("message",message); 
s.put("senderName",shortcode); 
OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream()); 
wr.write(s.toJSONString()); 
wr.flush(); 
// Get the response 
BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream())); 

消息是這樣的:

String message= 「amount1\\KB \n amount2\\KB」 

預計收到的消息:

amount1\KB 

amount2\KB 

現在的問題是HTTP服務器返回的行9 注意我的代碼效應初探500並導致異常:問題區域是字符串部分\ KB如果字符串不會包含此反斜槓一切正常。

我曾嘗試:

message = message.replaceAll("\\\\", "\"); 

message = message.replaceAll("\\\\", "%5C"); 

它不會引起我的任何異常,但收到的消息是如下:

amount1\KB 

amount2\KB 

amount1%5CKB 

amount2%5CKB 

JSONObject.escape(message)也沒有工作。

+0

您可以使用內置的代碼片段格式。 – 2011-02-25 09:36:18

+0

其中:message = message.replaceAll(「\\\\」,「\\」); message = message.replaceAll(「\\\\」,「%5C」); – 2011-02-25 09:36:23

回答

0

那麼你已經寫了你爲什麼在顯示你的回答之前用%替換%5C?