采用Gson解析时首先应导入一个Google官方的Gson.jar第三方包
1、解析使用方式很简单:数据为
String str = "{\"student\":{\"name\":\"小胡\",\"age\":12,\"id\":\"123\",\"sex\":\"男\"}}";
对象的建立: (此时可以看,数据中 {} 的对数来确定对象的个数,若不小心观察很容易少建)
public class JavaBean {
private Student student; //属性必须与数据中的字符串相同
public Student getStudent() {
return student;
}
public void setStudent(Student student) {
this.student = student;
}
}
public class Student {
private String name;
private int age;
private String id;
private String sex;
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;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
String str = "{\"student\":{\"name\":\"小胡\",\"age\":12,\"id\":\"123\",\"sex\":\"男\"}}";
Gson json = new Gson();
JavaBean javaBean = json.fromJson(str, JavaBean.class);
Student stu = javaBean.getStudent();
Logs.d("student:"+stu.getName()+","+stu.getAge()+","+stu.getId()+","+stu.getSex());
此处要注意的就是建立对象时不能建错了或少建了,做完上述操作就能把数据解析出来了
2、利用Gson生成json字符串:(利用相同的对象一样能生成上面的字符串)
<span style="white-space:pre"> </span>public void getJsonByGson(){
Gson json = new Gson();
JavaBean javaBean = new JavaBean();
Student student = new Student();
student.setName("小明");
student.setAge(10);
student.setId("456");
student.setSex("男");
javaBean.setStudent(student);
String str = json.toJson(javaBean);
Logs.d("str---"+str);
}
下面是我所搜集的一个快速生成Gson对象的一个插件,使用起来很方便的:
Gson使用
Gson gson = new Gson();
对象 对象名 = gson.fromJson(string(byte或者stream) ,对象类名+.class);
GsonForamt+android Parcelable code generator 两个插件快速生成Gson解析对象