我一直在ArrayList中使用它,但现在我的整个代码都改成了JSONArray,我不能再使用subList了,我想把我现在的JSONArray转换成一个数组列表以便使用,但我不知道JSONArray是否有类似的方法,我检查了一个例子,有一个使用subList的方法,但对我来说它不起作用。
public JSONArray getList(int qty) {
if (qty > orderedArray.length())
qty = orderedArray.length();
return orderedArray.subList(0, qty); //not working for me
}我已经看过this的例子,并且正在使用subList和JSONArray,有什么提示吗?
发布于 2019-01-08 01:09:08
您可以将JSONArray转换为List并使用子列表。
List listdata= new ArrayList();
for (int i=0;i<jsonArray.length();i++){
listdata.add(jArray.getString(i));
} 现在,您可以随意使用listData。
发布于 2019-01-08 01:35:05
您可以添加一个实用程序类来将JsonArray转换为ArrayList,并以一种干净的方式使用子列表方法。
下面是这个类的样子。
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
public class ArrayUtil {
public static ArrayList<Object> toArrayList(JSONArray jArr)
{
ArrayList<Object> list = new ArrayList<Object>();
try {
for (int i=0, i < jArr.length(); i++){
list.add(jArr.get(i));
}
} catch ( JSONException e) {}
return list;
}
public static JSONArray subJsonArray( JSONArray originalJsonArray, int fromIndex, int toIndex ) {
ArrayList<Object> list = toArrayList( originalJsonArray );
list.subList( fromIndex, toIndex );
return new JSONArray( list );
}
}https://stackoverflow.com/questions/54078228
复制相似问题