原生的JSON解析

来源:互联网 发布:手机加字幕软件 编辑:程序博客网 时间:2024/05/01 05:05

1 . json官方提供:JSON
来看四种需要解析的不同类型:
首先是需要用到的Person类

package com.qf.demo;public class Person {    private String name;    private int age;    public Person() {        // TODO Auto-generated constructor stub    }    public Person(String name, int age) {        super();        this.name = name;        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    @Override    public String toString() {        return "Person [name=" + name + ", age=" + age + "]";    }}

第一种:

package com.qf.demo;import org.json.JSONException;import org.json.JSONObject;/** * json解析 *  * */public class Test {    public static void main(String[] args) {        String string  = "{name:'zhangsan',age:20}";        // 想要数据    zhangsan   20        // 对象  数组        try {            JSONObject object = new JSONObject(string);// 要解析的字符串作为参数传进去            String name = object.getString("name");            int age = object.getInt("age");            System.out.println(name+"  "+age);        } catch (JSONException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

第二种:

package com.qf.demo;import org.json.JSONException;import org.json.JSONObject;public class Test2 {    public static void main(String[] args) {        String string= "{name:'zhangsan',person:{name:'lisi',age:30}}";        try {            JSONObject object = new JSONObject(string);            String name2 = object.getString("name");            JSONObject object2 = object.getJSONObject("person");            String name = object2.getString("name");            int age = object2.getInt("age");            System.out.println(name2+"  "+name+" "+age);        } catch (JSONException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

第三种:

package com.qf.demo;import java.util.ArrayList;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;public class Test3 {    public static void main(String[] args) {        String string="[{name:'zhangsan',age:20},{name:'lisi',age:21},{name:'wangwu',age:22}]";        try {            ArrayList<Person> persons = new ArrayList<>();            JSONArray  array = new JSONArray(string);            for (int i = 0; i < array.length(); i++) {                JSONObject object = array.getJSONObject(i);// 下标从0开始                String name = object.getString("name");                int age  = object.getInt("age");                Person person  = new Person(name, age);                persons.add(person);            }            System.out.println(persons);        } catch (JSONException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}

第四种:

package com.qf.demo;import java.util.ArrayList;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;public class Test4 {    public static void main(String[] args) {        String string = "{persons:[{name:'zhangsan',age:20},{name:'lisi',age:21},{name:'wangwu',age:22}]}";        ArrayList<Person> list = new ArrayList<>();        Persons persons = new Persons(list);        try {            JSONObject object = new JSONObject(string);            JSONArray array =  object.getJSONArray("persons");            for (int i = 0; i < array.length(); i++) {                JSONObject object2 = array.getJSONObject(i);                String name = object2.getString("name");                int age = object2.getInt("age");                Person person = new Person(name, age);                list.add(person);            }            System.out.println(persons);        } catch (JSONException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }}class Persons{    private ArrayList<Person> list;    public Persons(ArrayList<Person> list) {        super();        this.list = list;    }    public Persons() {        super();    }    public ArrayList<Person> getList() {        return list;    }    public void setList(ArrayList<Person> list) {        this.list = list;    }    @Override    public String toString() {        return "Persons [list=" + list + "]";    }}
原创粉丝点击