0

ライブラリを使用していますorg.json

このような文字列があります (引用符は に表示できませんfield_n)

{field1=value1, field2=value2}  (say it `val`)

この文字列は から取得されますHashtable<String, Object>

その文字列からを作成しJSONObject、次を取得します。

{"field1":"value1", "field2":"value2"}

value_n値の引用符 (または改行と改行) が表示されると、問題が発生します。

この方法で文字列をエスケープしようとしました:

value = value.replace("\\", "\\\\");
value = value.replace("\"", "\\\"");
value = value.replace("\r", "\\r");
value = value.replace("\n", "\\n");

org.json.JSONException: Expected a ',' or '}' at ... [character ... line 1]しかし、JSONObject を作成しようとすると、次のように常に取得されます。

JSONObject json = new JSONObject(val);
4

1 に答える 1

0

マップからJSONを作成するには、次を使用します。

new JSONObject(myMap);

別の関連する問題:

quotedStr = JSONObject.quote(val.trim());

それが言うようにすべての必要な値をqouteします:

すべての適切な場所にバックスラッシュシーケンスを含む二重引用符で囲まれた文字列を生成します

于 2013-02-25T13:58:55.440 に答える