2012-02-02 35 views
3

JACKSON如何不包含字段的包裝?JACKSON如何不包含字段的包裝?

public class AuthType { 
    Map<String,String> properties; 

    public Map<String, String> getProperties() { 
     return properties; 
    } 

    public void setProperties(Map<String, String> properties) { 
     this.properties = properties; 
    } 

} 

它返回

{"properties":{"authType":"XYZ"}} 

,但我希望有

{"authType":"XYZ"} 

任何註解?

看起來像沒有支持它http://jira.codehaus.org/browse/JACKSON-765任何解決方法?

+0

爲什麼你不只是做objectMappger.writeValueAsString(authType.getProperties())? – weekens 2012-02-02 08:22:34

回答

0

您可以將@JsonAnyGetter添加到地圖;如果您需要閱讀它,請定義匹配@JsonAnySetter

1

傑克遜1.9開始,您可以使用@JsonUnwrapped註釋

public class AuthType { 
    Map<String,String> properties; 

    @JsonUnwrapped 
    public Map<String, String> getProperties() { 
     return properties; 
    } 

    public void setProperties(Map<String, String> properties) { 
     this.properties = properties; 
    } 
}