Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在构建一个工具来解析大约 1GB 的巨大 JSON。在这种逻辑中,我正在创建JsonParser对象一直阅读,直到达到预期JsonToken。现在我创建另一个JsonParser(称为子级),它应该从以前的 JsonParser 令牌位置开始,没有太多开销。有没有办法在 JasonParser API 中做到这一点?我正在使用skipChildren(),这在我的场景中也需要时间。
JsonParser
JsonToken
skipChildren()
您可以尝试调用releaseBuffered(...)以获取已读取但未由解析器使用的数据,然后将这些数据添加到输入流 ( getInputSource()) 以某种方式解析结果流(一种方法可能是使用输入流构造解析器时支持标记)。
releaseBuffered(...)
getInputSource()
但是,由于您已经在使用基于流的 API,因此您可能不会获得比使用skipChildren().