3

我有代码,我在其中从字符串实例化 JSONObject。实例化后,我得到一个 JSONException Illegal escape。有关如何解决此问题的任何指示?

这是代码块:

@Test
public void testJSONString()
{
    try
    {   
        String str = "{\"path\":\"folderA\\myfileA\"}";
        JSONObject jsonObj = new JSONObject(str);

    } catch (JSONException e)
    {
        e.printStackTrace();
        fail();
    }

}

我得到的例外是:

org.json.JSONException: Illegal escape. at 18 [character 19 line 1]
at org.json.JSONTokener.syntaxError(JSONTokener.java:433)
at org.json.JSONTokener.nextString(JSONTokener.java:289)
at org.json.JSONTokener.nextValue(JSONTokener.java:360)
at org.json.JSONObject.<init>(JSONObject.java:225)
at org.json.JSONObject.<init>(JSONObject.java:327)

似乎是一个问题\\m。逃避这种情况的正确方法是什么?

谢谢!

4

1 回答 1

3

json 应该像\\在 Java 中那样转义反斜杠,这两个反斜杠都需要转义\\\\

String str = "{\"path\":\"folderA\\\\myfileA\"}";
于 2013-07-17T23:25:23.423 回答