如何在Android中解析JSONArray(而不是JSON对象)我很难找到解析JSONArray的方法。看起来是这样的:[{"name":"name1","url":"url1"},{"name":"name2","url":"url2"},...]如果JSON是以不同的方式编写的,我知道如何解析它(换句话说,如果返回json对象而不是对象数组)。但这是我所拥有的,也是我必须要做的。*编辑:这是一个有效的JSON。我用这个json制作了一个iPhone应用程序,现在我需要为Android做这件事,但我想不出答案。有很多例子,但它们都是与JSONObject相关的。我需要一些东西给JSONArray。有人能给我一些提示,或者一个教程或者一个例子吗?非常感谢!
3 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
JSONArray jsonarray = new JSONArray(jsonStr);for (int i = 0; i < jsonarray.length(); i++) { JSONObject jsonobject = jsonarray.getJSONObject(i); String name = jsonobject.getString("name"); String url = jsonobject.getString("url");}
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
// imports// ...@JsonIgnoreProperties(ignoreUnknown = true)public class MyDataHolder { @JsonProperty("name") public String mName; @JsonProperty("url") public String mUrl;}
String jsonString = // your jsonObjectMapper mapper = new ObjectMapper();List<MyDataHolder> list = mapper.readValue(jsonString, new TypeReference<ArrayList<MyDataHolder>>() {});
String firstName = list.get(0).mName;String secondName = list.get(1).mName;
SMILET
TA贡献1796条经验 获得超4个赞
public static void main(String[] args) throws JSONException { String str = "[{\"name\":\"name1\",\"url\":\"url1\"},{\"name\":\"name2\",\"url\":\"url2\"}]"; JSONArray jsonarray = new JSONArray(str); for(int i=0; i<jsonarray.length(); i++){ JSONObject obj = jsonarray.getJSONObject(i); String name = obj.getString("name"); String url = obj.getString("url"); System.out.println(name); System.out.println(url); } }
name1 url1 name2 url2
添加回答
举报
0/150
提交
取消