【问题标题】:fasterxml jackson create nested xml using Pojofastxml jackson 使用 Pojo 创建嵌套 xml
【发布时间】:2018-04-02 21:16:30
【问题描述】:

我想创建如下的xml:

<color>black</color>
<size>
<height>1</height>
</size>

我的 Pojo 课程是:

public class features {
    private String color;
    @JacksonXmlProperty(localName = "size")
    @JsonProperty("value")
    private Height height;
    //getter, setter, toString

    class Height{
        @JacksonXmlProperty(localName="height")
        public String value;  
        //getter, setter, toString
    }
}

我传递的 Json 是: { 颜色:黑色”, “价值”:1 }

我得到的输出是:

<color>black</color>
<size>
<height/>
</size>

为什么不将值设置为高度?

【问题讨论】:

    标签: java xml jackson pojo


    【解决方案1】:

    你的问题是杰克逊只能使用静态内部类。 More info

    这样的东西应该可以工作

    static class Height{
        @JacksonXmlProperty(localName="height")
        public String value;
    
        public Height() {}
    
        public Height(String value) {
            this.value = value;
        }
    
    }
    

    其他选项是在 Features 类中使用正确的设置器,例如

    @JsonProperty("value")
    public void setHeightFromString(String height){
        this.height = new Height();
        this.height.value = height;
    }
    

    PS:我假设你的 json 是有效的,看起来像 { "color":"black", "value":"1" }

    【讨论】:

      猜你喜欢
      • 2015-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-31
      • 1970-01-01
      • 2023-03-18
      • 2016-09-09
      • 1970-01-01
      相关资源
      最近更新 更多