如何在流式处理 JSON 中使用杰克逊的上下文?



我正在使用Jackson流JSON解析器。

我的JSON是这样的:

{
    "foo": {...},
    "bar": {...}
}

我想知道我什么时候完成处理顶层"foo"节点({...})。

当前的想法:

  • 使用JsonStreamContext并发现何时有上下文与我开始时相同。这做了一些相等的假设(前后的上下文是相等的),我不确定是否正确。老实说,我不知道这门课是干什么用的。

  • 保持计数当我进入和退出数组/对象。输入时增加;当我离开的时候。当计数达到0时,我处于与开始时相同的"水平"。

我讲对了吗?用API应该怎么做?

方法你提到的工作,虽然你也可以简单地做递归下降匹配(每个START_OBJECT与END_OBJECT匹配),并使用parser.skipValue()条目,你不关心(它会跳过当前的START_OBJECT/ARRAY到匹配END_OBJECT/ARRAY;或者,对于其他标记,留在当前位置)。

相关内容

  • 没有找到相关文章

最新更新