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

时间:2022-12-16 16:25:09

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

调用 也就完成了。