android 初步瞭解應用Gson 解析Json數據

1,由於沒有服務器返回數據,對於Tomcat又懶得去配,因此我直接把數據寫死到app中json

先寫一個實體類,便於操做服務器

    /**
     * 實體類
     */
    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;
        }
    }

而後把數據封裝好,返回一個列表app

    /**
     * 獲得數據
     * @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

    /**
     * 將數據轉化成一個字符串,原本是從服務器上post出來這裏就免了
     * @return  返回 字符串
     */
    public String toStr(){
        Gson gson = new Gson();
        List<Person> listPerson = getListPerson();
        String str = gson.toJson(listPerson);
        return str;
    }

上面模擬服務器端出來數據的已經完成。this

而後下面是咱們客戶端處理數據,就很簡單了spa

    /**
     * 解析傳過來的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);
    }

 

調用 也就完成了。code

相關文章
相關標籤/搜索