Android Json解析

Json有两种格式,键值对和数组,而Android对于Json的支持源于org.json包下的几个类。org.json下一共有四个类,但是经常使用的也就是两个类,分别对应了键值对和数组:JSONObject、JSONArray。

如果是被包括在方括号"[]"内的Json数据,则使用JSONArray对象存放数据。如果是被包括在花括号"{}"内的Json数据,则使用JSONObject对象存放数据。

解析键值对比较简单

JSONObject jsonObject=new JSONObject(jsonString);
Person person = new Person();
person.setName(jsonObject.getString("name"));

//jsonObject.getInt("id")则返回person的id。

解析数组的思路是先使用JSONArray解析Json数组,再遍历这个Json数组,使用JSONObject解析这个Json数组中的每个Json对象。

List<Person> list=new ArrayList<Person>();
try {
    JSONArray jsonArray=new JSONArray(jsonString);
    Person person=null;            
    for(int i=0;i<jsonArray.length();i++)
    {
        person=new Person();
        JSONObject jsonObject= jsonArray.getJSONObject(i);
        person.setName(jsonObject.getString("name"));
        list.add(person);
    }
} catch (Exception e) {
    // TODO: handle exception
}


你可能感兴趣的:(Android Json解析)