1. 程式人生 > >前端JSON傳入後臺解析

前端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方法的一些解釋