簡體   English   中英

fastxml jackson 使用 Pojo 創建嵌套的 xml

[英]fasterxml jackson create nested xml using Pojo

我想創建如下 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 是:{ color:"black", "value":1 }

我得到的輸出是:

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

為什么不將值設置為高度?

你的問題是傑克遜只能使用靜態內部類。 更多信息

這樣的事情應該工作

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

    public Height() {}

    public Height(String value) {
        this.value = value;
    }

}

其他選項是在 Features 類中使用正確的 setter,如

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM