我试图按如下方式构建一个json,
{
"session_token": "f3bb3e20d38d4624930636de074a0df0",
"request": [
"ApproveStatutoryMapping", {
"statutory_mappings": [{
"statutory_mapping_id": 3,
"statutory_provision": "POG ActPOG Act>>State Rule All",
"approval_status": 1,
"rejected_reason": null,
"notification_text": null
}]
}
]
}
以下是我的代码,
private JSONObject frameApproveJson() {
JSONObject rootJson = new JSONObject();
try {
JSONObject innerJobj = new JSONObject();
innerJobj.put("statutory_mapping_id", "3");
innerJobj.put("statutory_provision", "POG ActPOG Act>>State Rule All");
innerJobj.put("approval_status", "1");
innerJobj.put("rejected_reason", null);
innerJobj.put("notification_text", null);
JSONArray innerJarr = new JSONArray();
innerJarr.put("statutory_mappings");
innerJarr.put(innerJobj);
JSONArray inJarr = new JSONArray();
inJarr.put("ApproveStatutoryMapping");
inJarr.put(innerJarr);
rootJson.put("session_token", "806915cf50ab4997b7b135f539fe949b");
rootJson.put("request", inJarr);
} catch (JSONException e) {
e.printStackTrace();
}
return rootJson;
}
问题是我的代码没有框架所需的json。那是什么,我失踪了。在将所有值添加到rootjson对象后,我甚至返回了根json对象。然而同样的问题仍然存在
答案 0 :(得分:1)
innerJarr
应该是一个对象而不是一个数组。
更换
JSONArray innerJarr = new JSONArray();
innerJarr.put("statutory_mappings");
innerJarr.put(innerJobj);
通过
JSONObject innerJarr = new JSONObject();
JSONArray innerJarrBis = new JSONArray();
innerJarrBis.put(innerJobj);
innerJarr.put("statutory_mappings", innerJarrBis);
应解决问题
答案 1 :(得分:1)