在json中发回斜杠字符,响应代码500

时间:2011-02-25 09:35:02

标签: java json backslash

我试图通过http发送一条消息通过JSONObject。

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服务器返回我的响应代码500.并在第9行导致异常。 注意:问题区域是字符串部分\ KB如果String不包含此反斜杠一切正常。

我曾尝试过:

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

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

它没有引起我的任何异常,但收到的消息如下:

amount1\KB

amount2\KB

amount1%5CKB

amount2%5CKB

JSONObject.escape(message)也无效。

1 个答案:

答案 0 :(得分:0)

那么你已经写了为什么你在展示你的回答之前用%替换%5C?