gson解析json串

先定义一个Java对象

public class Student {
    public String name;
    public int age;
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

json转Java对象

public void toObject() {
    // {"age":28,"name":"野猿新一"}
    String json = "{\"age\":28,\"name\":\"野猿新一\"}";
    Student student = new Gson().fromJson(json, Student.class);
    Log.d("gson", student.toString());
}

json转List

public void toList() {
    // [{"age":21,"name":"野猿新一"},{"age":22,"name":"野猿新二"},{"age":23,"name":"野猿新三"}]
    String json = "[{\"age\":21,\"name\":\"野猿新一\"},{\"age\":22,\"name\":\"野猿新二\"},{\"age\":23,\"name\":\"野猿新三\"}]";
    List<Student> students = new Gson().fromJson(json, new TypeToken<List<Student>>(){}.getType());
    for (Student student:students) {
        Log.d("gson", student.toString());
    }
}

 

posted @ 2019-05-18 22:29  野猿新一  阅读(19)  评论(0编辑  收藏  举报