json串与对象的相互转换(Gson)

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包。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值