开发者社区 问答 正文

jackson 序列化一个类怎么能生成多种JSON

比如 Board 类
screenshot
格式一: json :
screenshot
格式二: json :
screenshot
格式三: json :
screenshot
screenshot

展开
收起
蛮大人123 2016-02-28 16:01:37 2135 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    通过filter过滤字段可以达到这个目的

    ObjectMapper mapper = new ObjectMapper();
    // Exclude Null Fields
    mapper.setSerializationInclusion(Inclusion.NON_NULL);
    String[] ignorableFieldNames = { "pins", "user" };
    FilterProvider filters = new SimpleFilterProvider()  
            .addFilter("filter Board",SimpleBeanPropertyFilter.serializeAllExcept(ignorableFieldNames));
    ObjectWriter writer = mapper.writer(filters);
    System.out.println(writer.writeValueAsString(new Board())); 

    参考:http://stackoverflow.com/questions/13764280/how-do-i-exclude-fields-with-jackson-not-using-annotations

    2019-07-17 18:49:42
    赞同 展开评论