理想情况下,它看起来很像这样:
List<String> props = objectMapper.getKnownProperties(MyPojo.class);
唉,没有这样的方法。通常可行的方法是将 Include.ALWAYS 显式设置为 ObjectMapper 的默认值,以反射方式实例化该类的实例,将其转换为映射,然后检查键集。但是,类仍然可以覆盖 ObjectMapper 给定注释的包含行为。
有没有更优雅的方法?至少,有没有办法使用对象映射器覆盖类注释?
编辑:
澄清一下,这些 pojos/javabeans/DTO 是为与 Jackson 一起使用而设计的,并且已经配备了注释以产生特定的序列化行为。碰巧我需要动态地知道我可能会预先得到什么,最好不要复制杰克逊已经可用的信息。也就是说,如果另一个框架提供此功能,我很想知道。:)