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 で、文字列にこのバック スラッシュが含まれていない場合、すべて問題ありません。
私が試した:
message = message.replaceAll("\\\\", "\");
message = message.replaceAll("\\\\", "%5C");
例外は発生しませんでしたが、受信したメッセージは次のとおりです。
amount1\KB
amount2\KB
と
amount1%5CKB
amount2%5CKB
JSONObject.escape(message)
も機能しませんでした。