栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring(JSON数据交互)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring(JSON数据交互)

JSON 1 JSON 使用流程分析

2 JSON数据
  • 什么是JSON数据?

    • 是一种轻量级的数据交换格式。
    • 轻量级,不依赖任何框架,任何语言。
  • 数据分类:对象、数组

    • 对象

      • key必须使用双引号
      • value除特殊类型外,都需要使用双引号。(特殊类型:数字、布尔true/false)
      {
          "k":"v",
          "k2":"v2",....
      }
      
    • 数组

      [
      	元素,元素2,....
      ]
      
3 入门案例 3.1 目标
  • 目标:请求JSON数据,响应JSON数据
  • 案例:用户条件查询,
    • 请求:查询条件 User
    • 响应:查询结果 List
  • 前提:spring mvc 底层 jackson 处理json数据。
3.2 步骤
  • 步骤:
    1. 导入 jackson 相关的jar包
    2. 编写JavaBean:User
    3. 编写controller,接收请求数据 @RequestBody
    4. 编写controller,响应数据 @ResponseBody
    5. postman测试
3.3 实现
  • 导入 jackson 相关的jar包

  • 编写JavaBean:User

    package com.czxy.mvcanno.domain;
    
    import org.springframework.format.annotation.DateTimeFormat;
    
    import java.util.Date;
    import java.util.List;
    
    
    public class User {
        private Integer id;
        private String username;
        private String password;
      
        public User() {
        }
    
        public User(Integer id, String username, String password) {
            this.id = id;
            this.username = username;
            this.password = password;
        }
        // getter和setter
    }
    
    
  • 编写controller,接收请求数据 @RequestBody

    package com.czxy.mvcanno.controller;
    
    import com.czxy.mvcanno.domain.User;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    
    @Controller
    @RequestMapping("/json")
    public class JsonController {
    
        @RequestMapping("/list")
        public void list(@RequestBody User user) {
            System.out.println(user);
        }
    }
    
    
  • 编写controller,响应数据 @ResponseBody

    package com.czxy.mvcanno.controller;
    
    import com.czxy.mvcanno.domain.User;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    @Controller
    @RequestMapping("/json")
    public class JsonController {
    
        @RequestMapping("/list")
        @ResponseBody
        public List list(@RequestBody User user) {
            System.out.println(user);
            //响应数据
            List list = new ArrayList<>();
            list.add(new User(1,"jack","1234"));
            list.add(new User(2,"rose","6666"));
            list.add(new User(3,"tom","loverose"));
    
            return list;
        }
    }
    
    
  • postman测试

3.4 常见注解
  • @JsonIgnore 作用是json序列化时将java bean中的一些属性忽略掉~
public class User {

    @JsonIgnore
    private List hobby;
  • @JsonFormat 格式化日期
public class User {

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date birthday;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328777.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号