杰克逊流媒体API与杰克逊地图集

时间:2016-08-21 11:59:39

标签: json spring serialization jackson objectmapper

我已经阅读过如何使用Jackson Streaming API以及Jackson mappers进行object-Json转换,反之亦然,但是我的春季项目应该使用哪一个。

编写流媒体API是最强大的,但我发现mappers非常易于使用且易于理解。

我的问题是Streaming API如何比mappers更强大,哪个更适合在大型春季项目中使用?

1 个答案:

答案 0 :(得分:1)

Jackson Mappers:

使用Jackson Mappers时,我们将整个JSON文档作为Java对象加载到内存中。如果一个人拥有非常大的数据集,这可能是一个问题。例如,如果在一个非常大的项目中使用映射器,则内存限制仅为512MB,但JSON的大小为600MB,在这种情况下应用程序将崩溃。在这种情况下,优选使用Streaming API。

Jackson Streaming API:

当使用jackson Streaming API时,我们可以通过令牌加载json数据令牌,即顾名思义,流式api将json文档视为json令牌流,可以逐个使用而没有内存问题。但是如果内存需求不是很多,那么Mappers是首选,因为它们快速而有效。

问题的第二部分,

Streaming API如何比映射器更强大?

好吧,因为json文档被视为标记流,我们可以根据我们的要求操作标记并使用它们。 Mappers仅提供提取和存储功能。 Streaming API处于低级别,为开发人员提供了更多功能。

低级API更难以使用,有时令人困惑,而映射器功能易于使用。