data =[{optionId:"1",topicId:"2"},{optionId:"2",topicId:"3"},{optionId:"3",topicId:"4"}]
@ResponseBody
@RequestMapping(value = "/isVerifyPass")
public Map<String, Object> isisVerifyPass(String data) {
Map<String, Object> resultMap = new HashMap<String, Object>();
NtbUser user =this.checkUserLogin();
List<NtbOptionRegister> list = BaseTools.jsonToList(data, NtbOptionRegister.class);
Res<Integer> resultModel = topicRegisterService.isVerifyPass(list ,user.getId());
resultMap = this.createResultMap(resultModel.isSuccess(), resultModel.getErrorCode(), resultModel.getMessage(),
resultModel.getResult());
return resultMap;
String data) {
Map<String, Object> resultMap = new HashMap<String, Object>();
NtbUser user =this.checkUserLogin();
List<NtbOptionRegister> list = BaseTools.jsonToList(data, NtbOptionRegister.class);
Res<Integer> resultModel = topicRegisterService.isVerifyPass(list ,user.getId());
resultMap = this.createResultMap(resultModel.isSuccess(), resultModel.getErrorCode(), resultModel.getMessage(),
resultModel.getResult());
return resultMap;
在Controller中所用到了BaseTools.JsonToList来把传过来的Json格式转化成了对象。
以下是jsonToList的具体实现代码:
// 定义jackson对象
private static final ObjectMapper MAPPER = new ObjectMapper();
/**
* 将json数据转换成pojo对象list
* <p>Title: jsonToList</p>
* <p>Description: </p>
* @param jsonData
* @param beanType
* @return
*/
public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) {
JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
try {
List<T> list = MAPPER.readValue(jsonData, javaType);
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
ObjectMapper MAPPER = new ObjectMapper();
/**
* 将json数据转换成pojo对象list
* <p>Title: jsonToList</p>
* <p>Description: </p>
* @param jsonData
* @param beanType
* @return
*/
public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) {
JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
try {
List<T> list = MAPPER.readValue(jsonData, javaType);
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
这里的objectMapper是Jackson库的主要类,她提供一些功能将转成成java对象匹配json结构。
http://www.yiibai.com/jackson/jackson_objectmapper.html 这是ObjectMapper方法的一些解释
============================================手动分割===========================================
现在使用的是阿里的fastjson 我把使用过程贴出来。
1.在pom.xml文件添加:
<!--阿里巴巴旗下的json 目前来说是效率最高的json工具 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.12</version>
</dependency>
2.使用方式:
import com.alibaba.fastjson.JSON;
String json=JSON.toJSONString(Object o);
结束了。