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);
			
}
发布了4 篇原创文章 · 获赞 2 · 访问量 807

猜你喜欢

转载自blog.csdn.net/qq_41419769/article/details/90265097