0

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

4

1 回答 1

0

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

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

于 2017-08-06T22:18:39.017 回答