猿问

将Json数组转换为普通的Java列表

将Json数组转换为普通的Java列表

有没有办法将JSON数组转换为普通的Java Array for android ListView数据绑定?



喵喔喔
浏览 807回答 3
3回答

慕神8447489

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

jeck猫

如果您还没有JSONArray对象,请致电JSONArray&nbsp;jsonArray&nbsp;=&nbsp;new&nbsp;JSONArray(jsonArrayString);然后简单地循环,构建自己的数组。此代码假定它是一个字符串数组,应该不难修改以适合您的特定数组结构。List<String>&nbsp;list&nbsp;=&nbsp;new&nbsp;ArrayList<String>();for&nbsp;(int&nbsp;i=0;&nbsp;i<jsonArray.length();&nbsp;i++)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;list.add(&nbsp;jsonArray.getString(i)&nbsp;);}

凤凰求蛊

而不是使用捆绑式org.json库,尝试使用Jackson或GSON,这是一个单行。与杰克逊,f.ex:List<String>&nbsp;list&nbsp;=&nbsp;new&nbsp;ObjectMapper().readValue(json,&nbsp;List.class); //&nbsp;Or&nbsp;for&nbsp;array: String[]&nbsp;array&nbsp;=&nbsp;mapper.readValue(json,&nbsp;String[].class);
随时随地看视频慕课网APP

相关分类

Java
Android
我要回答