在后台将前台传来的string类型的json字符串转换为对象类型的数据
示例:
@RequestMapping("/updateBatchUsers")
@ResponseBody
public Msg updateBatchUsers(String userList) {
log.info("updateBatchUsers入参 {}",userList);
//将字符串转换成json对象
JSONArray jsonArray = JSONArray.fromObject(userList);
//将json对象转换成List<User>集合
List<User> studentList = (List<User>)JSONArray.toCollection(jsonArray,User.class);
Msg result = Msg.failure("分配班级失败");
if(userService.updateBatchById(studentList))
result = Msg.ok("分配班级成功");
log.info("updateBatchUsers出参 {}",result);
return result;
}
userList是json格式的字符串
- 格式转换
//将字符串转换成json对象
JSONArray jsonArray = JSONArray.fromObject(userList);
//将json对象转换成List<User>集合
List<User> studentList = (List<User>)JSONArray.toCollection(jsonArray,User.class);
注意:要使用
JSONArray
的fromObject
和toCollection
方法需要引入以下依赖到pom.xml中。(如果报错,可能是复制的时候出现了多余空格)
<!--JSONArray-->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.3</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>net.sf.ezmorph</groupId>
<artifactId>ezmorph</artifactId>
<version>1.0.6</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.2.3</version>
<classifier>jdk15</classifier>
</dependency>