我一直在将它与ArrayList一起使用,但是现在我的整个代码更改为JSONArray,并且我无法再使用subList,我正在考虑将当前的JSONArray转换为arraylist以便使用,但是我不知道是否有一种类似的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一起使用,有任何提示吗?
答案 0 :(得分:0)
您可以将JSONArray转换为List并使用子列表。
List listdata= new ArrayList();
for (int i=0;i<jsonArray.length();i++){
listdata.add(jArray.getString(i));
}
现在按需使用listData
。
答案 1 :(得分:0)
您可以添加用于将JsonArray转换为ArrayList的实用程序类,并以干净的方式使用sublist方法。
这是该班级的样子。
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 );
}
}