【发布时间】:2018-06-17 18:01:26
【问题描述】:
我是 Java 新手,遇到一个问题:
JSONObject data = new JSONObject(json);
List<String> list = (List<String>) data.getJSONArray("childrens");
for (String item : list) {
Log.d("DEBUG", item);
}
我想将data.getJSONArray("childrens") 分配给一个变量list,但是我有一个错误:
java.lang.ClassCastException: org.json.JSONArray 无法转换为 java.util.List
我该怎么做?
我想遍历 JSON 数组。
【问题讨论】:
-
错误告诉你问题到底出在哪里,
.getJSONArray(...)方法返回一个org.json.JSONArray对象,不是一个java.util.List对象,并且铸造成功了不要解决这个问题。您需要创建一个 JSONArray 变量,将方法返回的对象分配给它,然后使用该对象可用的方法。 -
但是如何遍历 JSONArray 呢?
-
JSONArray API 会告诉您可以使用哪些方法,但我会考虑使用
length()和get(int index)方法来使用 for 循环进行迭代。 -
使用 JSONArray list = data.getJSONArray("childrens");
标签: java