Java 如何防止JSONArray[0]不是JSONObject错误?
在我的代码中,当我将JSONObject放入JSONArray中时,我可以使用getJSONObject调用读取它 但是,当我在另一个JSONObject中添加JSONArray,然后获取数组,然后尝试调用getJSONObject时,我得到一个错误,JSONArray[0]不是JSONObject。如何避免这个错误Java 如何防止JSONArray[0]不是JSONObject错误?,java,json,Java,Json,在我的代码中,当我将JSONObject放入JSONArray中时,我可以使用getJSONObject调用读取它 但是,当我在另一个JSONObject中添加JSONArray,然后获取数组,然后尝试调用getJSONObject时,我得到一个错误,JSONArray[0]不是JSONObject。如何避免这个错误 final JSONArray jsonArray = new JSONArray(); jsonArray.put(new JSONObject().put("id", "id1
final JSONArray jsonArray = new JSONArray();
jsonArray.put(new JSONObject().put("id", "id1"));
jsonArray.put(new JSONObject().put("id", "id2"));
for (int i = 0; i < jsonArray.length(); i++) {
System.out.println("--------------- everything is smooth and fine --------------------: " + jsonArray.getJSONObject(i));
}
// stuffed array inside an object.
final JSONObject jsonObject = new JSONObject();
jsonObject.append("key", jsonArray);
// refetched the array.
final JSONArray responseArray = jsonObject.getJSONArray("key");
for (int i = 0; i < responseArray.length(); i++) {
// error - JSONArray[0] is not a JSONObject.
System.out.println("----------------- errors out ------------------: " + responseArray.getJSONObject(i));
}
使用put代替:
你认为append做什么?你为什么这么认为?
// stuffed array inside an object.
final JSONObject jsonObject = new JSONObject();
jsonObject.put("key", jsonArray);