gpt4 book ai didi

java - 基于Some Flag的fasterxml ObjectMapper中忽略@JsonProperty注释

转载 作者:太空宇宙 更新时间:2023-11-04 12:35:24 25 4
gpt4 key购买 nike

我想忽略 fastrxml ObjectMapper 中基于某些标志的 @JsonProperty 注释

例如:

public class FeedData implements Serializable {

/**
*
*/
private static final long serialVersionUID = 1L;
@JsonProperty(value="n")
private String name;
@JsonProperty(value="i")
private Integer id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}


}

我有一个基于输出的标志应该有所不同

如果标志为true
比 json 应该是 {"n":"Radha","i":1}
否则如果标志为 false
比 json 应该是 {"name":"Radha","id":1}

最佳答案

您可以根据标志值配置对象映射器:

ObjectMapper mapper = new ObjectMapper();

if (!flag) {
mapper.setAnnotationIntrospector( new JacksonAnnotationIntrospector() {
@Override
public PropertyName findNameForSerialization(Annotated a) {
return null;
}
});
}
mapper.convertValue(object, FeedData.class)

关于java - 基于Some Flag的fasterxml ObjectMapper中忽略@JsonProperty注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37383884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com