Gson主要有两种方法:
①toJson():
作用是将Java对象转换成Json串。
②fromJson():
作用是将Json串转换成Java对象。
json串可以有两种格式:
①一种是对象格式
②另一种是数组对象格式
{"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格式的字符串
[{"name":"JSON","address":"北京市西城区","age":25}]//数组对象格式
从上面的两种格式可以看出对象格式和数组对象格式唯一的不同则是在对象格式的基础上加上了[],再来看具体的结构,可以看出都是以键值对的形式出现的,中间以英文状态下的逗号(,)分隔。
在前端和后端进行数据传输的时候这种格式也是很受欢迎的,后端返回json格式的字符串,前台使用js中的JSON.parse()方法把JSON字符串解析为json对象,然后进行遍历,供前端使用。
下面是代码实现部分:
①建一个实体类:
public class Student {
private int Sage;
private String Ssex;
private String Sname;
public int getSage() {
return Sage;
}
public void setSage(int sage) {
Sage = sage;
}
public String getSsex() {
return Ssex;
}
public void setSsex(String ssex) {
Ssex = ssex;
}
public String getSname() {
return Sname;
}
public void setSname(String sname) {
Sname = sname;
}
@Override
public String toString() {
return "Student [Sage=" + Sage + ", Ssex=" + Ssex + ", Sname=" + Sname + "]";
}
}
②main函数运行:
public class JsonTest {
public static void main(String[]args){
Student student = new Student();
student.setSage(18);
student.setSname("李晓");
student.setSsex("女");
System.out.println("student1的详细信息(对象形式):"+student.toString());
Gson gson = new Gson();
//将对象student对象转换成json串形式
String jsonStr1 = gson.toJson(student,Student.class);
System.out.println("toJson()得到的结果:"+jsonStr1);
//将json串形式转对象
String jsonData = "{\"Sage\":18,\"Ssex\":\"女\",\"Sname\":\"李晓\"}";
Student student1 = new Student();
student1 = gson.fromJson(jsonData, Student.class);
System.out.println("fromJson()得到的结果:"+student1);
}
}
结果如下:
student1的详细信息(对象形式):Student [Sage=18, Ssex=女, Sname=李晓]
toJson()得到的结果:{"Sage":18,"Ssex":"女","Sname":"李晓"}
fromJson()得到的结果:Student [Sage=18, Ssex=女, Sname=李晓]
简单的转换过程就是这样的。
最后要注意的是,使用Gson时,需要加入gson的jar包。