zoukankan      html  css  js  c++  java
  • spring boot 返回 JSON 数据

    在 WEB 项目中返回 JSON 数据是常见的交互形式

    1.添加依赖

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
    </parent>
    <!--包含所有 JSON 处理的包-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    2.定义返回方式

      在 Controller 类上面用 @RestController 定义或者在方法上面用 @ResponseBody 定义,表明是在 Body 区域输出数据

    @RestController
    public class UserTest {
    
        @GetMapping(value = "/user/{userId}")
        public User getUserInfo(@PathVariable("userId") String userId) {
            User user new User("lisi", 18);
            user.setId(Long.valueOf(userId));
            return user;
        }
    }

    3.自定义输出格式

      自定义 XML 格式

      @JsonProperty:用来自定义属性标签名称;

           @JsonIgnore:   用来忽略不想输出某个属性的标签;

           @JsonInclude: 用来动态包含属性的标签,如可以不包含为 null 值的属性

    public class User {
    
        @JsonProperty("user-name")
        private String userName;
    
        private Long id;
    
        private Integer age;
    
        @JsonIgnore
        private String address;
    
        @JsonInclude(JsonInclude.Include.NON_NULL)
        private String memo;
    
        // ... get set 
    
    }

    4.完成对象 和 Json 的互转

      jackson-databind 包里面有一个 com.fasterxml.jackson.databind.ObjectMapper 类可以完成对象和 Json 数据的互转

    ObjectMapper objectMapper = new ObjectMapper();
    
    String userJsonStr = objectMapper.writeValueAsString(user);
    
    user = objectMapper.readValue(userJsonStr, User.class);
    自定义输出格式
  • 相关阅读:
    6_10 下落的树叶(UVa699)<二叉树的DFS>
    6_9 天平(UVa839)<二叉树的DFS>
    6_8 树(UVa548)<从中序和后序恢复二叉树>
    6_7 树的层次遍历(UVa122)<二叉树的动态创建与BFS>
    6_6 小球下落(UVa679)<完全二叉树编号>
    6_4 破损的键盘(UVa11988)<链表>
    6_3 矩阵链乘(UVa424)<用栈实现简单的表达式解析>
    6_2 铁轨(UVa514)<栈>
    第五周课程总结&试验报告(三)
    第四周课程总结和实验报告
  • 原文地址:https://www.cnblogs.com/qinxu/p/14201987.html
Copyright © 2011-2022 走看看