Android中解析一段Json

来源:互联网 发布:网络推广工资高吗 编辑:程序博客网 时间:2024/05/16 07:42

一:需要解析的json字段

{   "result": 1    "presons": [        {            "url": "http://www.imooc.com/video/8331/0",            "name": "kirito",            "schoolInfos": [                {                    "school_name": "北大"                },                {                    "school_name": "清华"                }            ],            "age": 18        }    ],}


二:解析的代码

private List<Person> parseJson(String json){        List<Person> personList = new ArrayList<>();        try {            JSONObject obj = new JSONObject(json);            int result = obj.getInt("result");                        if (result == 1){                JSONArray persons = obj.getJSONArray("persons");                for (int i = 0; i < persons.length(); i++) {                    Person per = new Person();                                        JSONObject person = persons.getJSONObject(i);                    String url = person.getString("url");                    String name = person.getString("name");                    int age = person.getInt("age");                    List<SchoolInfo> list_schinfo = new ArrayList<>();                    JSONArray schoolinfos = person.getJSONArray("schoolinfos");                    for (int j = 0; j < schoolinfos.length(); j++) {                        JSONObject schoolinfo = schoolinfos.getJSONObject(j);                        String school_name = schoolinfo.getString("school_name");                        list_schinfo.add(new SchoolInfo(school_name));                    }                    per.setAge(age);                    per.setUrl(url);                    per.setSchoolInfos(list_schinfo);                    per.setName(name);                    personList.add(per);                }            }        } catch (JSONException e) {            e.printStackTrace();        }        return personList;    }

三:辅助类

package com.example.kirito.myapplication.gson;import java.util.List;/** * Created by kirito on 2016.10.25. */public class Person {    private String name;    private String url;    private int age;    private List<SchoolInfo> schoolInfos;    public List<SchoolInfo> getSchoolInfos() {        return schoolInfos;    }    public void setSchoolInfos(List<SchoolInfo> schoolInfos) {        this.schoolInfos = schoolInfos;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getUrl() {        return url;    }    public void setUrl(String url) {        this.url = url;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}

package com.example.kirito.myapplication.gson;import java.util.List;/** * Created by kirito on 2016.10.25. */public class Result {    private int result;    private List<Person> presons;    public int getResult() {        return result;    }    public void setResult(int result) {        this.result = result;    }    public List<Person> getPresons() {        return presons;    }    public void setPresons(List<Person> presons) {        this.presons = presons;    }}

package com.example.kirito.myapplication.gson;/** * Created by kirito on 2016.10.25. */public class SchoolInfo {    private String school_name;    public SchoolInfo(String school_name) {        this.school_name = school_name;    }    public String getSchool_name() {        return school_name;    }    public void setSchool_name(String school_name) {        this.school_name = school_name;    }}


0 0
原创粉丝点击