springmvc实现json交互

1.为什么要进行json数据交互

json数据格式在接口调用中、html页面中较常用,json格式比较简单,解析还比较方便。

==JSON(JavaScript Object Notation)==是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。

2.springmvc进行json交互

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UXTgTaSC-1640773985229)(image/wps91.png)]

1、请求json、输出json,要求请求的是json串,所以在前端页面中需要将请求的内容转成json,不太方便。

2、请求key/value、输出json。此方法比较常用。

3.环境准备

3.1 引入依赖

springmvc中使用jackson的包进行json转换(@requestBody和@responseBody使用下边的包进行json转),如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CJhTwVLd-1640773985238)(image/wps92.jpg)]

修改pom.xml文件:

<!--jackson -->
<dependency>
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-core</artifactId>
   <version>2.9.5</version>
</dependency>
<dependency>
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-databind</artifactId>
   <version>2.9.5</version>
</dependency>
<dependency>
   <groupId>com.fasterxml.jackson.core</groupId>
   <artifactId>jackson-annotations</artifactId>
   <version>2.9.5</version>
</dependency>

3.2配置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>

注意:如果使用<mvc:annotation-driven />则不用定义上边的内容。

4.json交互测试

4.1输入json串,输出是json串

1.jsp页面

使用jquery的ajax提交json串,对输出的json结果进行解析。

contentType:"application/json;charset=utf-8"

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4rRyiBoY-1640773985241)(image/wps93.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zixdYjgi-1640773985242)(image/wps94.jpg)]

2.controller

需求:请求json串(商品信息),输出json(商品信息)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HpOMYYnQ-1640773985243)(image/wps95.jpg)]

3.测试结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0vN5tBen-1640773985245)(image/wps96.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uBzFUEYm-1640773985246)(image/wps97.jpg)]

4.2输入key/value,输出是json(使用较多)

1.jsp页面

使用jquery的ajax提交key/value串,对输出的json结果进行解析。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jlphbKWp-1640773985247)(image/wps98.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EULh1xgV-1640773985248)(image/wps99.jpg)]

2.controller

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dOf2RmlQ-1640773985249)(image/wps910.jpg)]

3.测试结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5Vr2ldW7-1640773985250)(image/wps911.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FQh1xihf-1640773985252)(image/wps912.jpg)]

5.需求:实现用户登录

通过用户名username和地址address实现登陆

Service:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-huNwsXyg-1640773985263)(image/wps913.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aFGxDJm4-1640773985264)(image/wps914.jpg)]

Controller:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qMkKYWaq-1640773985265)(image/wps915.jpg)]

JS:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gGeHy2iq-1640773985266)(image/wps916.jpg)]

JSP:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uk58i0L2-1640773985267)(image/wps917.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1SgkgeYO-1640773985269)(image/wps918.jpg)]

测试结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cel3NLoT-1640773985276)(image/wps919.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t6bnLq9U-1640773985278)(image/wps920.jpg)]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

what's your name.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值