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); }
调用 也就完成了。