SpringMVC 实现Json交互

29 篇文章 1 订阅

一:为什么要进行Json数据交互

  json格式数据较简单,容易解析(常用在接口调用中、html页面)

二:SpringMVC 进行 Json交互的过程

  其中请求为json串时,在前端页面中需要将请求的内容转为json,不太方便
  最终都输出json数据,是为了在前端页面方便对请求结果进行解析

三:环境准备

  引json解析所需jar包,springmvc中使用jackson的包进行json转换(@requestBody和@responseBody使用下边的包进行json转)


四:在注解适配器中加入messageConverters

<!--注解适配器 -->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
        <list>
        <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
        </list>
        </property>
    </bean>

  如果使用 则不用定义上边的内容

五:Json交互过程详解

  1.输入json串,输出json串

    .jsp页面

//请求json,输出json
    function requestJson()
    {
        $.ajax({
            type:'post',
            url:'${pageContext.request.contextPath}/requestJson.action',
            contentType:'application/json;charset=utf-8',
            //数据格式是json串
            data:'{"name":"手机","price":999}',
            success:function(data){
                //返回json结果
                alert(data);
            }
        });
    }

    1> 要设置contentType,默认是key/value
    2> 输入数据格式是json格式

    controller类

//请求jason,输出json
    @RequestMapping("/requestJson")
    public @ResponseBody ItemsCustom requestJson(@RequestBody ItemsCustom itemsCustom){
        return itemsCustom;
    }

    1> @RequestBody表明将输入解析为json
    2> @ResponseBody表明将输入解析为json


  2.输入key/value,输出json串

    .jsp页面

    //请求key/value,输出json
    function responseJson()
    {
        $.ajax({
            type:'post',
            url:'${pageContext.request.contextPath}/responseJson.action',
            /* contentType:'application/json;charset=utf-8', */
            //数据格式是key/value
            data:'name=手机 & price=999',
            success:function(data){
                //返回json结果
                alert(data.name);
            }
        });
    }

    controller类

    @RequestMapping("/responseJson")
    public @ResponseBody ItemsCustom responsetJson(ItemsCustom itemsCustom){        
        return itemsCustom;
    }

    1> 输入参数不再用@RequestBody解析


主要用到@RequestBody和@ResponseBody两个注解

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值