【问题标题】:Jackson stream parser position杰克逊流解析器位置
【发布时间】:2017-08-06 20:29:13
【问题描述】:

我正在构建一个工具来解析大约 1GB 的巨大 JSON。在这个逻辑中,我正在创建JsonParser 对象,一直读取直到达到预期的JsonToken。现在我创建另一个JsonParser(称为child),它应该从以前的JsonParser 令牌位置开始,没有太多开销。有没有办法在 JasonParser API 中做到这一点?我正在使用skipChildren(),这在我的场景中也需要时间。

【问题讨论】:

    标签: java json jackson jackson2


    【解决方案1】:

    您可以尝试调用 releaseBuffered(...) 来获取解析器读取但未使用的数据,然后将这些数据添加到输入流 (getInputSource()) 以某种方式解析结果流(一种方法这可能是在构造解析器时使用支持标记的输入流)。

    但是,由于您已经在使用基于流的 API,因此您可能不会获得比使用 skipChildren() 更好的性能。

    【讨论】:

      猜你喜欢
      • 2021-11-01
      • 2014-06-17
      • 1970-01-01
      • 1970-01-01
      • 2013-12-29
      • 2018-08-25
      • 2019-07-27
      • 2014-08-22
      • 2019-11-25
      相关资源
      最近更新 更多