开始学SpringMVC之Json

Posted hsiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开始学SpringMVC之Json相关的知识,希望对你有一定的参考价值。

本文主要以一个简单的小例子,简述SpringMVC开发中,Json的相关应用,仅供学习分享使用,如有不足之处,还请指正。

什么是Json ?

  1. JSON 指的是 javascript 对象表示法(JavaScript Object Notation),是轻量级的文本数据交换格式,比 XML 更小、更快,更易解析。
  2. JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。
  3. JSON 具有自我描述性,更易理解。

SpringMVC支持Json操作步骤

在SpringMVC支持注解的基础之上,需要支持Json格式返回数据,步骤如下:

1. 导入jackson的三个支持的包(如果没有导入包,会报406错误)

需要导入的Jar包如下:

1 //三个需要需要人的jackson包
2 jackson-annotations-2.2.1.jar
3 jackson-core-2.2.1.jar
4 jackson-databind-2.2.1.jar

 

2. 在方法上增加一个注解@ResponseBody

如下所示:

 1 /**
 2      * 如果要返回Json,需要增加注解@ResponseBody,否则会当成路径返回
 3      * 如果返回406错误,则是包缺失
 4      * @return
 5      */
 6     @RequestMapping("/json01")
 7     @ResponseBody
 8     public String json01()
 9         System.out.println("json 被调用。。。。。");
10         return "Hello world!!!";
11     

3. 访问

打开浏览器,输入网址,如下所示:

技术图片

SpringMVC返回不同类型的Json

1. 返回数组

如下所示,直接返回String[]即可。

 1 /**
 2      * 返回数组
 3      * @return
 4      */
 5     @RequestMapping("/json02")
 6     @ResponseBody
 7     public String[] json02()
 8         System.out.println("json 被调用。。。。。");
 9         String[] arr=new String[]"小明","小花";
10         return arr;
11     

页面如下所示:

 技术图片

2. 返回类对象

如下所示:直接返回User对象

 1 /**
 2      * 返回对象
 3      * @return
 4      */
 5     @RequestMapping("/json03")
 6     @ResponseBody
 7     public User json03()
 8         System.out.println("json 被调用。。。。。");
 9         User user=new User(1l,"张三",3,new Date());
10         return user;
11     

如下图所示:返回的是Json格式的对象

技术图片

如果返回的对象中有日期格式,则需要处理返回的格式

 1 /**
 2      * 从后台到前台,设置的格式
 3      * @return
 4      */
 5     @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
 6     public Date getDate() 
 7         return date;
 8     
 9     
10     /**
11      * 从前台到后台,接收时设置参数格式
12      * @param date
13      */
14     @DateTimeFormat(pattern="yyyy-MM-dd")
15     public void setDate(Date date) 
16         this.date = date;
17     

3. 返回对象列表

如下所示:返回的是List<User>对象列表

 1 /**
 2      * 返回对象列表
 3      * @return
 4      */
 5     @RequestMapping("/json04")
 6     @ResponseBody
 7     public List<User> json04()
 8         System.out.println("json 被调用。。。。。");
 9         List<User> lst=new ArrayList<User>();
10         User zs=new User(1l,"张三",3,new Date());
11         User ls=new User(2l,"李四",4,new Date());
12         User ww=new User(3l,"王五",5,new Date());
13         lst.add(zs);
14         lst.add(ls);
15         lst.add(ww);
16         return lst;
17     

如下图所示:返回的是一个对象的数组

技术图片

备注

莫听穿林打叶声,何妨吟啸且徐行。竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。

以上是关于开始学SpringMVC之Json的主要内容,如果未能解决你的问题,请参考以下文章

一起学SpringMVC之文件上传

从零开始学JAVA(08)-使用SpringMVC4 Restful 风格引用静态文件 css/js/png

轻松学Java之Spring MVC的工作流程简介

spring源码学习之springMVC

Java 高级框架之认识 springMVC

SpringMVC之RequestMappingHandlerMapping开篇