Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何防止JSONArray[0]不是JSONObject错误?_Java_Json - Fatal编程技术网

Java 如何防止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

在我的代码中,当我将JSONObject放入JSONArray中时,我可以使用getJSONObject调用读取它 但是,当我在另一个JSONObject中添加JSONArray,然后获取数组,然后尝试调用getJSONObject时,我得到一个错误,JSONArray[0]不是JSONObject。如何避免这个错误

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);