我正在使用Jackson流式JSON解析器。
我的JSON看起来像这样:
{
"foo": {...},
"bar": {...}
}
我想知道我什么时候处理顶级“foo”节点({...}
)。
当前的想法:
使用JsonStreamContext
并查找上下文与我开始时相同的情况。这使得一些平等假设(前后的上下文相等),我不确定是否正确。老实说,我不确定这门课是为了什么。
记录进入和退出数组/对象的时间。我进入时增加;我离开时会减少当计数达到0时,我与我开始时处于同一“水平”。
我是否在正确的轨道上?这应该通过API完成的方式是什么?
答案 0 :(得分:0)
你提到工作的方法,虽然你也可以简单地进行递归 - 下降匹配(每个START_OBJECT与END_OBJECT匹配),并使用parser.skipValue()
来表示你不关心的条目(它将从当前跳过START_OBJECT / ARRAY匹配END_OBJECT / ARRAY;或者,对于其他令牌,请留在当前位置。