[英]Java map object to several variants JSON
如何在没有链DOMAIN_OBJECT-> DTO-> JSON的情况下将域对象映射到几个不同的JSON对象(几个DTO)? 我有一个大的领域对象和十多个表示形式。 当我使用structMap
将域对象映射到特定的DTO,然后使用jackson将序列化到JSON时,我花费了大量时间。
是否有任何工具可以将域对象映射到不带中间层DTO的服务器变体JSON?
我真的不知道您的用例,但是请注意,如果您使用Jackson,我想您正在使用ObjectMapper
。 ObjectMapper
是一个昂贵的对象,您应该尽可能地重用(ergo,将其声明为static
和final
),因为当多次转换同一对象时,它会在后台进行大量缓存。
更好的是,从ObjectMapper
获得ObjectWriter
和/或ObjectReader
,它们是不可变的并且是线程安全的(如果要在运行时更改其配置,ObjectMapper会很棘手),它们应该可以提高性能。
最后一件事,但是我从来没有走那么远,您可以编写自定义的序列化器/反序列化器,但是我看到复杂性明显上升了(因此,维护起来会更加困难)。
如果使用的是字符串,请仔细检查是否使用StringBuilder(或在多线程用例中使用StringBuffer),并仅在必要时进行日志记录( if(logger.isDebugEnabled() { log.debug(...) }
),它们是导致表演下降的常见陷阱。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.