将Json数组转换为普通Java数组

问题

有没有办法将JSON数组转换为普通的Java数组用于Android ListView数据绑定?


#1 热门回答(166 赞)

ArrayList<String> list = new ArrayList<String>();     
JSONArray jsonArray = (JSONArray)jsonObject; 
if (jsonArray != null) { 
   int len = jsonArray.length();
   for (int i=0;i<len;i++){ 
    list.add(jsonArray.get(i).toString());
   } 
}

#2 热门回答(54 赞)

如果你还没有JSONArray对象,请调用

JSONArray jsonArray = new JSONArray(jsonArrayString);

然后简单地循环,构建自己的数组。此代码假定它是一个字符串数组,应该不难修改以适合你的特定数组结构。

List<String> list = new ArrayList<String>();
for (int i=0; i<jsonArray.length(); i++) {
    list.add( jsonArray.getString(i) );
}

#3 热门回答(8 赞)

也许这只是一种解决方法(效率不高),但你可以这样做:
String[] resultingArray = yourJSONarray.join(",").split(",");
显然你可以用你喜欢的任何东西改变','分隔符(我有5024253594个电子邮件地址)