You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Jackson转换含特殊键名x5t#S256的JSON至Java对象问题

解决JSON含特殊字符键与Java对象映射问题

问题核心是Java变量名不允许包含#这类特殊字符,但JSON键带有#,直接用JSON键名作为Java变量名会编译失败。

解决方法很直接:给@JsonProperty注解显式指定对应的JSON键名,同时使用合法的Java标识符作为变量名即可:

public class Key {
    // 显式指定JSON中的原始键名
    @JsonProperty("x5t#S256")
    private String x5tS256;

    // 按需添加getter/setter方法
    public String getX5tS256() {
        return x5tS256;
    }

    public void setX5tS256(String x5tS256) {
        this.x5tS256 = x5tS256;
    }
}

原理说明:

  • @JsonProperty注解的核心作用就是在Jackson序列化/反序列化过程中,建立Java字段与JSON键的映射关系
  • 当JSON键包含Java标识符不允许的特殊字符时,只需在注解参数中传入原始的JSON键字符串,就能完成正确的字段映射

内容的提问来源于stack exchange,提问作者Lyle Phillips

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:45:46