android 初步了解应用Gson 解析Json数据

1,因为没有服务器返回数据,对于Tomcat又懒得去配,所以我直接把数据写死到app中

先写一个实体类,便于操作

    /**
     * 实体类
     */
    public class Person {
        int id ;
        String name ;
        int age ;

        public Person(int id, String name, int age) {
            this.id = id ;
            this.name = name ;
            this.age = age ;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        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;
        }
    }

然后把数据封装好,返回一个列表

    /**
     * 得到数据
     * @return 返回一个数据的列表
     */
    public List<Person> getListPerson() {
        List<Person> list = new ArrayList<Person>();
        Person person1 = new Person(001, "jack", 25);
        Person person2 = new Person(002, "rose", 24);
        Person person3 = new Person(003, "bob", 26);
        list.add(person1);
        list.add(person2);
        list.add(person3);
        return list;
    }

跟着处理列表数据

    /**
     * 将数据转化成一个字符串,本来是从服务器上post出来这里就免了
     * @return  返回 字符串
     */
    public String toStr(){
        Gson gson = new Gson();
        List<Person> listPerson = getListPerson();
        String str = gson.toJson(listPerson);
        return str;
    }

上面模拟服务器端出来数据的已经完成。

然后下面是我们客户端处理数据,就很简单了

    /**
     * 解析传过来的JSON 数据
     * @param str json数据
     */
    private void gsonFromJson(String str) {
        List<Person> list = new ArrayList<Person>();
        Gson gson = new Gson();
        list = gson.fromJson(str, new TypeToken<List<Person>>() {
        }.getType());
        String sting = "";
        for (int i = 0; i < list.size(); i++) {
            sting += "id :" + list.get(i).getId() + "name :" + list.get(i).getName() + "age :" + list.get(i).getAge();
        }
        text.setText(sting);
    }

调用 也就完成了。

原文地址:https://www.cnblogs.com/android-host/p/5337522.html