Java 如何将JSONArray分配给变量?
我是Java新手,有一个问题:Java 如何将JSONArray分配给变量?,java,Java,我是Java新手,有一个问题: JSONObject data = new JSONObject(json); List<String> list = (List<String>) data.getJSONArray("childrens"); for (String item : list) { Log.d("DEBUG", item); } JSONObject数据=新的JSONObject(json); List=(List)data.getJSO
JSONObject data = new JSONObject(json);
List<String> list = (List<String>) data.getJSONArray("childrens");
for (String item : list) {
Log.d("DEBUG", item);
}
JSONObject数据=新的JSONObject(json);
List=(List)data.getJSONArray(“childrens”);
用于(字符串项:列表){
Log.d(“调试”,项目);
}
我想将data.getJSONArray(“childrens”)
分配给变量列表
,但我有一个错误:
java.lang.ClassCastException:org.json.JSONArray无法强制转换为
java.util.List
我该怎么做
我想迭代JSON数组。您不能
数据。getJSONArray(“childrens”)
返回类型为org.JSON.JSONArray
的对象
但是,您可以在JSONArray上迭代:
JSONArray jArray = data.getJSONArray("childrens");
for (int i = 0; i < jArray.length(); i++) {
JSONObject jb = jArray.getJSONObject(i);
Log.d("DEBUG", jb);
}
JSONArray jArray=data.getJSONArray(“childrens”);
for(int i=0;i
您不能data.getJSONArray(“childrens”)
返回类型为org.json.JSONArray
的对象
但是,您可以在JSONArray上迭代:
JSONArray jArray = data.getJSONArray("childrens");
for (int i = 0; i < jArray.length(); i++) {
JSONObject jb = jArray.getJSONObject(i);
Log.d("DEBUG", jb);
}
JSONArray jArray=data.getJSONArray(“childrens”);
for(int i=0;i
JSONObject
仅包含JSONArray
,不包含列表
。您必须手动对其进行转换:
JSONObject data = new JSONObject(json);
JSONArray jsonArray = data.getJSONArray("childrens");
for (Object o : jsonArray) {
String child = (String)o;
Log.d("DEBUG", child);
}
JSONObject
仅包含JSONArray
,而不包含列表
。您必须手动对其进行转换:
JSONObject data = new JSONObject(json);
JSONArray jsonArray = data.getJSONArray("childrens");
for (Object o : jsonArray) {
String child = (String)o;
Log.d("DEBUG", child);
}
该错误准确地告诉您问题是什么,方法
.getJSONArray(…)
返回一个org.json.JSONArray
对象,而不是java.util.List
对象,而强制转换对象不会解决此问题。您需要创建一个JSONArray变量,将方法返回的对象分配给它,然后使用此对象可用的方法。但是如何迭代JSONArray?将告诉您可以使用哪些方法,但我将介绍如何使用length()
和get(int index)
使用for循环迭代的方法。使用JSONArray list=data.getJSONArray(“childrens”);错误的可能重复会确切地告诉您问题所在,方法.getJSONArray(…)
返回一个org.json.JSONArray
对象,而不是java.util.List
对象,并且强制转换不会解决这个问题。您需要创建一个JSONArray变量,将方法返回的对象分配给它,然后使用此对象可用的方法。但是如何迭代JSONArray?将告诉您可以使用哪些方法,但我将介绍如何使用length()
和get(int index)
使用for循环迭代的方法。使用JSONArray list=data.getJSONArray(“childrens”);@HovercraftFullOfEels的可能副本将其声明为2016年的最新版本。@HovercraftFullOfEels将其声明为2016年的最新版本。