一起学SpringMVC之Json
2024-09-02 22:19:30
本文主要以一个简单的小例子,简述SpringMVC开发中,Json的相关应用,仅供学习分享使用,如有不足之处,还请指正。
什么是Json ?
- JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation),是轻量级的文本数据交换格式,比 XML 更小、更快,更易解析。
- JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。
- JSON 具有自我描述性,更易理解。
SpringMVC支持Json操作步骤
在SpringMVC支持注解的基础之上,需要支持Json格式返回数据,步骤如下:
1. 导入jackson的三个支持的包(如果没有导入包,会报406错误)
需要导入的Jar包如下:
//三个需要需要人的jackson包
jackson-annotations-2.2.1.jar
jackson-core-2.2.1.jar
jackson-databind-2.2.1.jar
2. 在方法上增加一个注解@ResponseBody
如下所示:
/**
* 如果要返回Json,需要增加注解@ResponseBody,否则会当成路径返回
* 如果返回406错误,则是包缺失
* @return
*/
@RequestMapping("/json01")
@ResponseBody
public String json01(){
System.out.println("json 被调用。。。。。");
return "Hello world!!!";
}
3. 访问
打开浏览器,输入网址,如下所示:
SpringMVC返回不同类型的Json
1. 返回数组
如下所示,直接返回String[]即可。
/**
* 返回数组
* @return
*/
@RequestMapping("/json02")
@ResponseBody
public String[] json02(){
System.out.println("json 被调用。。。。。");
String[] arr=new String[]{"小明","小花"};
return arr;
}
页面如下所示:
2. 返回类对象
如下所示:直接返回User对象
/**
* 返回对象
* @return
*/
@RequestMapping("/json03")
@ResponseBody
public User json03(){
System.out.println("json 被调用。。。。。");
User user=new User(1l,"张三",3,new Date());
return user;
}
如下图所示:返回的是Json格式的对象
如果返回的对象中有日期格式,则需要处理返回的格式
/**
* 从后台到前台,设置的格式
* @return
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
public Date getDate() {
return date;
} /**
* 从前台到后台,接收时设置参数格式
* @param date
*/
@DateTimeFormat(pattern="yyyy-MM-dd")
public void setDate(Date date) {
this.date = date;
}
3. 返回对象列表
如下所示:返回的是List<User>对象列表
/**
* 返回对象列表
* @return
*/
@RequestMapping("/json04")
@ResponseBody
public List<User> json04(){
System.out.println("json 被调用。。。。。");
List<User> lst=new ArrayList<User>();
User zs=new User(1l,"张三",3,new Date());
User ls=new User(2l,"李四",4,new Date());
User ww=new User(3l,"王五",5,new Date());
lst.add(zs);
lst.add(ls);
lst.add(ww);
return lst;
}
如下图所示:返回的是一个对象的数组
备注
莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
最新文章
- 使用VS Code开发 调试.NET Core 应用程序
- 大数据热点问题TOP K
- pos机抹零功能
- 关于Android使TextView可以滚动的设置
- poj 1321 棋盘问题【dfs】
- Substrings(hd1238)
- hadoop运行作业的脚本解析
- Failed to install *.apk on device &#39;emulator-5554&#39;: timeout
- 防火墙和iptables
- JVM学习②
- C++ openmp并行程序在多核linux上如何最大化使用cpu
- oracle创建与mysql的dblink
- SIFT算法
- zk 创建瞬时、顺序节点的原理
- apache-httpd工作模式
- mysqlslap 压力测试工具
- 百度地图Api进阶教程-默认控件和自定义控件2.html
- debian安装ibus中文输入法
- 给iphone配置qq邮箱
- DPK750针式打印机驱动,750u.dll下载
热门文章
- python之encode和decode编码
- Leetcode题解 - 贪心算法部分简单题目代码+思路(860、944、1005、1029、1046、1217、1221)
- C#_.NetCore_WebAPI项目_EXCEL数据导出(ExcelHelper_第二版_优化逻辑)
- 高版本Visual Studio和低版本ArcGIS共存 工具箱没有控件的解决方法
- npm 镜像配置
- Java每日一面(Part2数据库)[19/11/28]
- Java异常及异常处理
- library: Vulnhub Walkthrough
- 苹果_公司开发者账号_申请DUNS number
- Github访问速度很慢的原因,以及解决方法