如何在json中使用jackson的上下文?

时间:2014-07-14 23:07:14

标签: java json parsing stream jackson

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

我的JSON看起来像这样:

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

我想知道我什么时候处理顶级“foo”节点({...})。

当前的想法:

  • 使用JsonStreamContext并查找上下文与我开始时相同的情况。这使得一些平等假设(前后的上下文相等),我不确定是否正确。老实说,我不确定这门课是为了什么。

  • 记录进入和退出数组/对象的时间。我进入时增加;我离开时会减少当计数达到0时,我与我开始时处于同一“水平”。

我是否在正确的轨道上?这应该通过API完成的方式是什么?

1 个答案:

答案 0 :(得分:0)

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