Spring boot controller接收手机端传过来的List对象

Spring boot controller接收手机端传过来的List对象

说明:本人小菜鸟,不喜勿喷!

Java对象和Json之间的互转,一般用的比较多的两个类库是Jackson和Gson,下面记录一下Gson的学习使用。

基础概念:
Serialization:序列化,使Java对象到Json字符串的过程。
Deserialization:反序列化,字符串转换成Java对象

使用Maven管理Gson,pom.xml导入gson的依赖

  <dependency>
     <groupId>com.google.code.gson</groupId>
     <artifactId>gson</artifactId>
     <version>2.3.1</version>
  </dependency>

Gson的两个基础方法
toJson();
fromJson();

Gson的创建方式一:直接new Gson对象

// 使用new方法
Gson gson = new Gson();

// toJson 将bean对象转换为json字符串
String jsonStr = gson.toJson(user, User.class);

// fromJson 将json字符串转为bean对象
Student user= gson.fromJson(jsonStr, User.class);

// **序列化List**
String jsonStr2 = gson.toJson(list);

// **反序列化成List时需要使用到TypeToken getType()**
List<User> retList = gson.fromJson(jsonStr2,new TypeToken<List<User>>(){}.getType());

以上为其他博客搜索的有关于Gson的资料,以下为自己项目中的代码:

/**
 * 添加打课
 */
@SuppressWarnings("unchecked")
@RequestMapping(value = "/insert", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
@ResponseBody
@LoginRequired
public JacksonData<YcCourseCheck> findAll(@CurrentUser YcUser ycUser, YcCourseCheck ycCourseCheck,
		 String ycCourseCheckRecordlist ) {
	if (RegexUtil.isNull(ycUser)) {
		return ResultUtil.error(202, HelpConstants.NOlOGIN);
	}
	
	//Gson 将String串转为list对象
	Gson gson = new Gson();
	Type type = new TypeToken<ArrayList<YcCourseCheckRecord>>() {}.getType();
	List<YcCourseCheckRecord> ycCourseCheckRecords = gson.fromJson(ycCourseCheckRecordlist, type);
	
	String rs = ycCourseCheckRecordService.insert(ycCourseCheckRecords, ycCourseCheck);
	
	if (RegexUtil.isNotNull(rs) && rs.equals(YcCourseCheckConstants.SUCCESS)) {
		return ResultUtil.success();
	}
	return ResultUtil.error(204, rs);
			
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值