0

HTTPPOSTを介して次のパラメーターをサーバーに送信しようとしています。

["my_session_id","{this=that, foo=bar}"]

ただし、ハッシュを引用符で囲んでいるため、サーバーは解析エラーを返しています。

私は次のような正規表現でそれらを削除しようとしています:

params.replaceAll("\\\"\\{", "\\{");
params.replaceAll("\\\"\\}", "\\}");

正直なところ、私は自分が何をしているのかわかりません。助けてください。

前もって感謝します!

4

2 に答える 2

2

ここには2つの問題があります。1つは、文字列を再割り当てしていないことです。StringsはJavaでは不変であるため(変更できません)、結果を割り当てる必要があります。次に、"}の代わりに置き換えます}"

これが私が使用したものです:

String params = "[\"my_session_id\",\"{this=that, foo=bar}\"]";
params = params.replaceAll("\\\"\\{", "\\{");
params = params.replaceAll("\\}\\\"", "\\}");
System.out.println(params);

どちらが印刷されますか:

["my_session_id",{this=that, foo=bar}]

PS:ちょっとしたアドバイスです。JSONを使用してください。Androidは優れたJSON処理を備えており、PHPでもサポートされています

于 2013-01-19T04:29:00.843 に答える
0

正規表現replaceAllを使用している理由はありますか?または、次のことを試してください。

 String parameters = parameters.replace("{", "\\{").replace("}", "\\}");
于 2013-01-19T04:39:44.753 に答える