java - 使用 Jackson 将单个 java 字段映射到两个 JSON 字段

标签 java json jackson

POJO中有一个isCase字段,它同时映射到case和is_case(这不是预期的)。 删除 @JsonProperty 注释会删除 json 中的 is_case 字段,但 is_case 是它应该的样子。 将 @JsonIgnore 放在 isCase 上并不会消除响应 json 中的大小写。 将 isCase 重命名为 is_case 确实消除了响应 json 中的大小写,但这似乎不太正确。 为什么 Jackson 会将单个 java 字段映射到两个字段? POJO 声明如下:

public class CreateRuleResponse {
    @JsonProperty(value = "rule_name", required = true)
    private String name;

    @JsonProperty("rule_num")
    private String ruleNum;

    @JsonProperty(value = "rule_category")
    private RuleCategory ruleCategory;

    @JsonProperty(value = "rule_status")
    private RuleStatus ruleStatus;

    @JsonProperty(value = "rule_channel_type")
    private String ruleChannelType;

    @JsonProperty("action")
    private RuleAction ruleAction;

    @JsonProperty("is_case")
    private Boolean isCase;

    public CreateRuleResponse() {
    }

    public String getName() {
        return name;
    }

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

    public String getRuleNum() {
        return ruleNum;
    }

    public void setRuleNum(String ruleNum) {
        this.ruleNum = ruleNum;
    }

    public RuleCategory getRuleCategory() {
        return ruleCategory;
    }

    public void setRuleCategory(RuleCategory ruleCategory) {
        this.ruleCategory = ruleCategory;
    }

    public RuleStatus getRuleStatus() {
        return ruleStatus;
    }

    public void setRuleStatus(RuleStatus ruleStatus) {
        this.ruleStatus = ruleStatus;
    }

    public String getRuleChannelType() {
        return ruleChannelType;
    }

    public void setRuleChannelType(String ruleChannelType) {
        this.ruleChannelType = ruleChannelType;
    }

    public RuleAction getRuleAction() {
        return ruleAction;
    }

    public void setRuleAction(RuleAction ruleAction) {
        this.ruleAction = ruleAction;
    }

    public Boolean getCase() {
        return isCase;
    }

    public void setCase(Boolean aCase) {
        isCase = aCase;
    }
}

最佳答案

它映射变量以及 getter 方法。

关于java - 使用 Jackson 将单个 java 字段映射到两个 JSON 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58946500/

相关文章:

java - 正则表达式:如果有一个冒号,则添加另一个冒号

Java 8字节码如何标记接口(interface)中的默认方法

java - 增加 Tomcat 堆大小

java - 使用 Jackson 和 @JsonCreator 反序列化 JSON

java - Jackson @JsonIgnore 改变了语义?

java - 从集合 {1, 3, 100} 中生成随机数

python - pyparsing:示例 JSON 解析器对于字典列表失败

JSON 内容(漂亮的 JSON)到 apex 中的 JSON 字符串

json - Parse.com 说 "invalid character '\'' 正在寻找值的开始”

java - 如何在 Jackson 中反序列化复杂的自定义枚举而不手动滚动 JsonDeserializer?