cosmo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  194 随笔 :: 0 文章 :: 31 评论 :: 197万 阅读

在 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);
自定义输出格式
posted on   【cosmo】  阅读(689)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示