将 JSON 对象放入 JSON 数组,反之亦然将额外的反斜杠添加到 JSON 数组 - Android

Put JSONObject to JSONArray or vice versa adds extra back slashes to JSON Array - Android

当我创建一个 json 对象并将其添加到 json 数组时,它会添加额外的反斜杠 :/

1) 创建 JSONObject

        JSONObject jo = new JSONObject();
        jo.put("JobName", "Test - Job Name");
        jo.put("JobStatus", "Current");
        jo.put("OrganID", "123");
        jo.put("Date_Entered", getDate());

结果:

{"OrganID":"123","JobName":"Test - Job Name","Date_Entered":"13-Apr-2015","JobStatus":"Current"}

2) 将 JSONObject 添加到 JSONArray

        JSONArray ja = new JSONArray();
        ja.put(jo);

结果(它还在 JSONObject 前后添加了额外的双引号 "):

["{\"OrganID\":\"123\",\"JobName\":\"Test - Job Name\",\"Date_Entered\":\"13-Apr-2015\",\"JobStatus\":\"Current\"}"]

3) 将 JSONArray 添加到 JSONObject

        JSONObject finalJson = new JSONObject();
        finalJson.put("PostCompJob", ja.toString());

结果:

{"PostCompJob":"[\"{\\"OrganID\\":\\"123\\",\\"JobName\\":\\"Test - Job Name\\",\\"Date_Entered\\":\\"13-Apr-2015\\",\\"JobStatus\\":\\"Current\\"}\"]"}  

我不知道为什么会这样,谁能帮帮我?

天哪,我遇到了同样的问题,但在我这边,这是由于 AWS 库造成的。 当我在我的项目中使用这个库时,只要我创建了这个对象,它就会自动导入 AWS 库的 JSONObject 或 JSONArray。 斜杠仅在我创建 Json AWS 时创建。 如果您正在使用其他库,请先检查。