且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

使用jackson将java对象转换为json字符串时重复json属性

更新时间:2022-05-29 22:15:57

所以我遵循:如何指定 jackson 仅使用字段 - ***是全局的

我添加

@JsonAutoDetect(fieldVisibility = Visibility.ANY, getterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)

之前

public class LogLikeArticleDetail extends BaseObject

以及我想要的结果.

另一个可以在 getAsJson() 函数中解决这个问题,例如:

So can another solve that in getAsJson() function like:

ObjectMapper mapper  = new ObjectMapper();
mapper.setVisibilityChecker(mapper.getSerializationConfig().getDefaultVisibilityChecker()
                .withFieldVisibility(JsonAutoDetect.Visibility.ANY)
                .withGetterVisibility(JsonAutoDetect.Visibility.NONE)
                .withSetterVisibility(JsonAutoDetect.Visibility.NONE)
                .withCreatorVisibility(JsonAutoDetect.Visibility.NONE));
return mapper.writeValueAsString(this) ;

感谢@Sean Carpenter 的问题和@kmb385 在上面链接中的回答.

Thanks for @Sean Carpenter 's question and @kmb385 answer in link above.