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

如何通过javax.ws.rs生成含特殊字符的JSON属性键?

解决方法

因为Java变量名不允许包含冒号,所以需要通过JSON序列化注解来指定字段对应的JSON键名,最常用的方案是使用Jackson的@JsonProperty注解(JAX-RS的多数实现如Jersey默认用Jackson处理JSON序列化):

  1. 确保项目中引入了Jackson相关依赖(比如jackson-databind)
  2. 修改你的实体类,给extension字段添加@JsonProperty注解,指定目标JSON键名:
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class MyObject {
    private String name;
    
    @JsonProperty("extension:anybill")
    private String extension;
}

这样当你使用javax.ws.rs.client.Entity.json(myObject)生成JSON时,Jackson会自动把extension字段映射为"extension:anybill"这个带冒号的键,生成你需要的JSON格式。

如果你的项目用的是Gson作为JSON序列化库,对应的注解是@SerializedName("extension:anybill"),用法类似。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:15:28