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 回答