【问题标题】:Jackson performance of deserializing at two locations vs deserializing whole jsonJackson 在两个位置反序列化与反序列化整个 json 的性能
【发布时间】:2016-09-10 03:58:30
【问题描述】:

我不知道 Jackson 是如何反序列化的。我有一个 JSON,只需要某些部分。

ObjectMapper mapper = new ObjectMapper();

性能如何变化:

mapper.readerFor(Integer.class).at("/code").readValue(inputStream);
mapper.reset();    
mapper.readerFor(MyClass[].class).at("/level1/level2").readValue(inputStream); 

读取整个 JSON:

mapper.readValue(inputStream, Map.class);

【问题讨论】:

    标签: java json jackson inputstream


    【解决方案1】:

    由于 JSON 对象中的键顺序不固定,因此无法知道所需键在输入流中的位置。

    在最坏的情况下,如果所需的键是最后一个,则必须解析整个流。平均而言,读取单个键可能会提高性能,但基准测试是找出您正在使用的数据的可靠方法。

    【讨论】:

      猜你喜欢
      • 2023-03-04
      • 2012-08-19
      • 1970-01-01
      • 2015-02-28
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多