2

JSONObject に入れられる文字列があります。渡される前は次のようになります。

  Before: /storage/sdcard/Download/signature-1383757302516.jpg

  After: \/storage\/sdcard\/Download\/signature-1383757302516.jpg

私のコードは次のようになります。

   // make JSON object to hold the information, which is sent to the server
  JSONObject jsonObjSend = new JSONObject();
  jsonObjSend.put("signature", signatureFile.getAbsolutePath())

jsonObjSend().toString() の出力は次のとおりです。

  \/storage\/sdcard\/Download\/signature-1383757302516.jpg

JSONOBject は情報をエンコードしていますか? スラッシュが変更されないようにするにはどうすればよいですか?

*編集:正規表現を使用してエスケープ文字を削除して解決しました。

  jsonObjSend.toString().replaceAll("\\\\/", "/")
4

1 に答える 1

0

toString()メソッドは通常、複雑なオブジェクトで呼び出されると、エスケープ文字を含む値を返します。あなたの値は問題なく保存されます。電話してみる

jsonObjSend.get("signature");
于 2013-11-06T17:17:56.053 に答える