Per https://github.com/FasterXML/jackson-core/issues/228#issuecomment-156159231 Json 节点不包含对其父节点的引用。
JsonPointer 根据 JSON 文档根部的绝对路径来路径引用节点。
鉴于此事实,在非根节点上调用 JsonNode.at(JsonPointer) 时如何返回正确的节点?
例如,给定:
{
"parent":
{
"child": "foobar"
}
}
如果我们调用
JsonNode.at(JsonPointer)
,其中 JsonNode
是子节点并且所需的路径是“/parent”,我看不到 Jackson 返回正确值的方法。即使我们传入“/parent/child”所需的路径,Jackson 也需要跟踪当前节点的路径,但它似乎没有这样做。
这是否意味着
JsonNode.at(JsonPointer)
将路径解释为相对于调用它的节点,而不是相对于根节点?
正确:参考假设“当前节点”是遍历目的的根节点。 (也纠正了
JsonNode
没有引用父母的情况)