散步蜗牛
2013-05-24 17:37
浏览 628
已采纳

jackson转换bean为json字符串时的问题

最近项目中引入了jackson.jar包,用的挺好,但一直存在一个问题,如下:

[code="java"]
Class Bean{
private String id;
private String name;

//...省略set,get
}
Bean bean = new Bean();
bean.setId("abc");
String str = new ObjectMapper().writeValueAsString(bean);

//str={"id":"abc","name":""}

[/code]

问题是:某些beean的属性值会存在很多个,但bean里的值可能只设置一个,但转换为json字符串时,却存在许多属性字段转换。我如何能做到上面的代码只转换为:str={"id":"abc"},为空的则不转换。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 温故而知新666 2013-05-24 21:23
    已采纳
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • war9420 2013-05-24 21:53

    getSerializationConfig().withSerializationInclusion(JsonSerialize.Inclusion.NON_NULL);

    评论
    解决 无用
    打赏 举报
  • shmily2038 2013-05-26 07:51

    ObjectMapper mapper = new ObjectMapper();
    //通过该方法对mapper对象进行设置,所有序列化的对象都将按改规则进行系列化
    //Include.NON_EMPTY 属性为 空(“”) 或者为 NULL 都不序列化
    //Include.NON_NULL 属性为NULL 不序列化
    mapper.setSerializationInclusion(Include.NON_EMPTY);

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题