• 一起学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     }

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

    备注

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

  • 相关阅读:
    iOS的生命周期
    【iOS开发】在 App 中加入 AdMob 广告
    iOS性能优化:Instruments
    动态的计算行高 加载数据源 有多少显示多少 tableView 包含 colloctionView 显示复杂的界面写法
    Java String.split()注意点
    Java eclipse export jar包 包括第三方引入的jar
    微信网页授权获取用户基本信息
    android连接本地tomcat服务器,报timeout
    iOS内存管理retain,assign,copy,strong,weak
    static与全局与局部变量的区别
  • 原文地址:https://www.cnblogs.com/hsiang/p/11370099.html
Copyright © 2020-2023  润新知