前端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;
  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);

结束了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值