Jackson指定json的key

指定json的key

要在序列化JavaBean时指定JSON的key,可以使用@JsonProperty​注解来指定JavaBean属性序列化到JSON时使用的key。以下是一个简单的示例:

java 复制代码
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ObjectMapper;

public class Example {
    public static void main(String[] args) throws Exception {
        User user = new User();
        user.setId(1);
        user.setName("张三");

        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(user);
        System.out.println(json);
    }

    public static class User {
        private int id;

        @JsonProperty("username")
        private String name;

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }
}

在上面的例子中,User​类有一个属性name​,通过在该属性上使用@JsonProperty("username")​注解,我们指定了当User​对象被序列化为JSON时,name​属性对应json的key应该是username​。因此,输出的JSON字符串中,原本应该是"name":"张三"​的部分会变成"username":"张三"​。

相关推荐
Watermelo6175 小时前
探究TOON的价值边界:比JSON更优的大模型友好数据格式?
数据结构·人工智能·语言模型·自然语言处理·数据挖掘·数据分析·json
ID_180079054736 小时前
除了Python,还有哪些语言可以解析淘宝商品详情API返回的JSON数据?
开发语言·python·json
Full Stack Developme6 小时前
达梦(DM8)对 JSON 与 XML 的使用教程
xml·数据库·json
全栈前端老曹1 天前
【包管理】npm init 项目名后底层发生了什么的完整逻辑
前端·javascript·npm·node.js·json·包管理·底层原理
黄金贼贼1 天前
2026最新java单元测试json校验器
java·单元测试·json
C_心欲无痕2 天前
ts - tsconfig.json配置讲解
linux·前端·ubuntu·typescript·json
REDcker2 天前
AIGCJson 库解析行为与异常处理指南
c++·json·aigc·c
全栈前端老曹2 天前
【包管理】read-pkg-up 快速上手教程 - 读取最近的 package.json 文件
前端·javascript·npm·node.js·json·nrm·package.json
半熟的皮皮虾2 天前
又重新写了个PDF工具箱-转换office格式/合并/拆分/删除常见操作都有了
python·程序人生·pdf·flask·开源·json·学习方法
我的golang之路果然有问题2 天前
python中 unicorn 热重启问题和 debug 的 json
java·服务器·前端·python·json