首页 > 其他分享 >菜鸟学习Spring——SpringMVC注解版解析不同格式的JSON串

菜鸟学习Spring——SpringMVC注解版解析不同格式的JSON串

时间:2023-06-27 18:04:54浏览次数:44  
标签:username SpringMVC 菜鸟 myArray JSON new password public


一、概述

        不同格式的JSON串传到后台来实现功能这个是我们经常要做的一件事,本篇博客就给大家介绍四种不同的JSON串传到后台后台如何用@RequestBody解析这些不同格式的JSON串的。

二、代码展示

需要引用的jar包

菜鸟学习Spring——SpringMVC注解版解析不同格式的JSON串_spring

1.xml配置   Web.xml

1. <?xml version="1.0" encoding="UTF-8"?>  
2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  
3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
5. >  
6. <servlet>  
7. <servlet-name>springMVC</servlet-name>  
8. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
9. <load-on-startup>1</load-on-startup>  
10. </servlet>  
11. <servlet-mapping>  
12. <servlet-name>springMVC</servlet-name>  
13. <url-pattern>*.spring</url-pattern>  
14. </servlet-mapping>  
15. <welcome-file-list>  
16. <welcome-file>index.jsp</welcome-file>  
17. </welcome-file-list>  
18. </web-app>  
springMVC-servlet.xml
 
 
    
<? 
       xml 
         
       version 
       = 
       "1.0" 
         
       encoding 
       = 
       "UTF-8" 
       ?> 
         
 
     
1. <beans xmlns="http://www.springframework.org/schema/beans"  
2. xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
3. xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"  
4. xsi:schemaLocation="  
5.         http://www.springframework.org/schema/beans   
6.         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
7.         http://www.springframework.org/schema/context   
8.         http://www.springframework.org/schema/context/spring-context-3.0.xsd  
9.           http://www.springframework.org/schema/mvc   
10. >  
11. <context:component-scan base-package="com.gaowei.JSON" />  
12. <mvc:annotation-driven />  
13.       
14.   
15. </beans>  
 
    
 

 2.Java代码  Userinfo.java

 

1. package com.gaowei.entity;  

2.    
3. public class Userinfo {  

4. private String username;  

5. private String password;  

6. public String getUsername() {  

7. return username;  

8.     }  

9. public void setUsername(String username) {  

10. this.username = username;  

11.     }  

12. public String getPassword() {  

13. return password;  

14.     }  

15. public void setPassword(String password) {  

16. this.password = password;  

17.     }  

18. }

Test.java

1. package com.gaowei.JSON;  
2.   
3. import java.util.ArrayList;  
4. import java.util.List;  
5. import java.util.Map;  
6.   
7. import org.springframework.stereotype.Controller;  
8. import org.springframework.web.bind.annotation.RequestBody;  
9. import org.springframework.web.bind.annotation.RequestMapping;  
10.   
11.  
12. import com.gaowei.entity.Userinfo;  
13.   
14. @Controller  
15. public class Test {  
16.       
17. @RequestMapping(value="getJSON1")  
18. public void getJSON1(@RequestBody Userinfo userinfo){  
19. "------getJSON1---start----");  
20.         System.out.println(userinfo.getUsername());  
21.         System.out.println(userinfo.getPassword());  
22. "------getJSON1---end----");  
23.     }  
24.       
25. @RequestMapping(value="getJSON2")  
26. public void getJSON2(@RequestBody ArrayList<String> list){  
27. "------getJSON2---start----");  
28. for (int i = 0; i < list.size(); i++) {  
29.             System.out.println(list.get(i));  
30.         }  
31. "------getJSON2---end----");  
32.     }  
33.       
34. @RequestMapping(value="getJSON3")  
35. public void getJSON3(@RequestBody List<Map> list){  
36. "------getJSON3---start----");  
37. for (int i = 0; i < list.size(); i++) {  
38.             Map map=list.get(i);  
39. "username")+" "+map.get("password"));  
40.         }  
41. "------getJSON3---end----");  
42.     }  
43.       
44. @RequestMapping(value="getJSON4")  
45. public void getJSON4(@RequestBody Map map){  
46. "------getJSON4---start----");  
47. "username"));  
48. "work");  
49. for (int i = 0; i < workList.size(); i++) {  
50.             Map eachAddressMap=workList.get(i);  
51. "address="+eachAddressMap.get("address"));  
52.         }  
53. "school");  
54. "name"));  
55. "address"));  
56. "------getJSON4---end----");  
57.     }  
58. }

3.界面代码 Test.jsp

1. <%@ page language="java" import="java.util.*" pageEncoding="utf-8" %>  
2. >  
3. <html>  
4. <head>  
5. <script src="jquery-1.3.2.js">  
6. </script>  
7. <script src="json2.js">  
8. </script>  
9. <script>  
10.             function userinfo(username, password){  
11. this.username = username;  
12. this.password = password;  
13.             }  
14.               
15.             function sendAjax1(){  
16. userinfoRef = new userinfo('中国', '中国人');  
17. jsonStringRef = JSON.stringify(userinfoRef);  
18.                 $.ajax({  
19.                     type: "POST",  
20.                     data: jsonStringRef,  
21. t=" + new Date().getTime(),  
22.                     contentType: "application/json"  
23.                 });  
24.             }  
25.   
26.             function sendAjax2(){  
27. myArray =new Array();  
28.                 myArray[0]="中国1";  
29.                 myArray[1]="中国2";  
30.                 myArray[2]="中国3";  
31.                 myArray[3]="中国4";  
32. jsonString=JSON.stringify(myArray);  
33.                   $.ajax({  
34.                         type: "POST",  
35.                         data: jsonString,  
36. t=" + new Date().getTime(),  
37.                         contentType: "application/json"  
38.                     });  
39.                 }  
40.   
41.   
42.             function sendAjax3(){  
43. myArray=new Array();  
44.                     myArray[0]= new userinfo('中国1', '中国人1');  
45.                     myArray[1]= new userinfo('中国2', '中国人2');  
46.                     myArray[2]= new userinfo('中国3', '中国人3');  
47.                     myArray[3]= new userinfo('中国4', '中国人4');  
48. jsonString=JSON.stringify(myArray);  
49.                       $.ajax({  
50.                             type: "POST",  
51.                             data: jsonString,  
52. t=" + new Date().getTime(),  
53.                             contentType: "application/json"  
54.                         });  
55.                 }  
56.   
57.             function sendAjax4(){  
58. jsonObject={  
59.                     "username":"accp",  
60.                     "work":[{  
61.                         "address":"address1"  
62.                         },{  
63.                         "address":"address2"      
64.                             }],  
65.                         "school":{  
66.                             "name":"tc",  
67.                             "address":"pjy"  
68.                             }  
69.                         }  
70. jsonString=JSON.stringify(jsonObject);  
71.                   $.ajax({  
72.                         type: "POST",  
73.                         data: jsonString,  
74. t=" + new Date().getTime(),  
75.                         contentType: "application/json"  
76.                     });  
77.             }  
78. </script>  
79. </head>  
80. <body>  
81. <input type="button" onclick="sendAjax1()" value="sendAjax1"/>  
82. <br/>  
83. <input type="button" onclick="sendAjax2()" value="sendAjax2">  
84. <br/>  
85. <input type="button" onclick="sendAjax3()" value="sendAjax3">  
86. <br/>  
87. <input type="button" onclick="sendAjax4()" value="sendAjax4">  
88. <br/>  
89. </body>  
90. </html>

 

 

4.效果图

菜鸟学习Spring——SpringMVC注解版解析不同格式的JSON串_spring_02


菜鸟学习Spring——SpringMVC注解版解析不同格式的JSON串_System_03


 

三、总结。

 

这里要注意jar包的引用不要把spring的所有jar包都引用了会引起jar包冲突而导致报HTTP 415的错误。@RequestBody这个方法很强大可以把JSON串转化为实体类、ArryList、Map等对象。这样的方法让我们开发人员开发效率大大的提高了

标签:username,SpringMVC,菜鸟,myArray,JSON,new,password,public
From: https://blog.51cto.com/nethub/6564745

相关文章

  • SpringMVC 史上最全最强详细示例实战教程
    一个简单的入门实例教程该实例的源码和实例中的jar源码所需要的jar 另外一篇关于SpringMVC文件上传,多文件上传 简单注解配置的实例: 一、创建项目:1、建立新的动态web项目:2、为项目命名为:SpringMVC_013、添加tomcat运行时环境\依赖库 如果是MyEclipse的话创建web项目时就不需要......
  • springmvc.xml
    <?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springfra......
  • SpringMVC http大文件断点续传上传
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭......
  • elk 入门 - 分析nginx日志 + json格式 + 有调试的意识 + elk7.2.0
    1.本次采用的一台主机,将所有的软件安装一台上进行测试工作。2.安装部署:https://blog.51cto.com/hwg1227/22999953.简单调试输出rubydebuginput{file{path=>"/usr/local/log_test/*/*/*.log"start_position=>"beginning"}}output{e......
  • Redfish是一种现代、开放且标准化的远程管理和监控接口,由DMTF(Distributed Management
    Redfish是一种现代、开放且标准化的远程管理和监控接口,由DMTF(DistributedManagementTaskForce)开发和维护。它基于RESTfulAPI设计,使用JSON或OData格式进行数据交换。Redfish旨在提供简化、灵活和可互操作的远程管理解决方案,取代或与传统的远程管理技术(如IPMI)配合使用。Redfish......
  • springboot中自定义JavaBean返回的json对象属性名称大写变小写问题
    目录一、继承类二、手动添加Get方法三、@JsonProperty四、spring-bootjson(jackson)属性命名策略开发过程中发现查询返回的数据出现自定义的JavaBean的属性值大小写格式出现问题,导致前端无法接受到数据,目前有四种解决方法,根据大佬的经验之谈,前两种是最简单便捷的,后两种是比较通......
  • 记一次曲折的fastjson事件应急响应
    01事件背景介绍某内部应急演练中,安全部门收到通知,称公司内部资产被入侵,且可能已经开始内网横向入侵,现需根据流量情况进行安全事件分析。02事件分析过程通过数据包发现10.X.X.2对80.X.X.1/24使用扫描器发起扫描,包括80.X.X.12,80.X.X.48,80.X.X.61查看源IP80.X.X.12外连情况发现无......
  • Python 中的 JSON 操作:简单、高效的数据交换格式
    在现代的数据交换和存储中,JSON(JavaScriptObjectNotation)作为一种轻量级的数据交换格式,备受青睐。它不仅易于阅读和理解,还可以灵活地表达和存储高维数据。本文将介绍如何在Python中操作JSON文件,实现数据的序列化和反序列化。1.JSON数据格式JSON格式采用键值对的方式......
  • D365: 将多个关联的表数据转换为JSON格式
    最近碰到一个需求,将D365系统中的多个关联表的数据转换成JSON格式导出然后上传到blobstorage,实现方式记录一下,以便将来使用首先在调用是引用usingNewtonsoft.Json,usingSystem.IO引用后,我们用到两个classSystem.IO.StringWriterNewtonsoft.Json.JsonTextWriter分别定义这......
  • CouchDB教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介CouchDB是一个开源的面向文档的数据库管理系统,可以通过RESTfulJavaScriptObjectNotation(JSON)API访问。术语“Couch”是“ClusterOfUnreliableCommodityHardware”的首字母缩写,它反映了CouchDB的目标具有高度可伸缩性,提供了高可用性和高可靠性,即使运......