前端JSON传入后台解析

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;
  

在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是Jackson库的主要类,她提供一些功能将转成成java对象匹配json结构。

http://www.yiibai.com/jackson/jackson_objectmapper.html  这是ObjectMapper方法的一些解释



猜你喜欢

转载自blog.csdn.net/qq_36934544/article/details/79012274