使用jackson遍历json树

发布于 2024-12-05 13:38:43 字数 221 浏览 0 评论 0原文

我正在开发一个通过 JSON 与第三方通信的新系统。

其中一个调用返回一个巨大的 JSON 结构来表示产品和规则。

我已经使用 Jackson 非常轻松地将这个 JSON 转换为树。现在的问题是我希望能够通过“查询”找到节点,而无需手动遍历整个树。

因此,在树的深处有一个对象,它有一个名为business_id 的字段。我想返回所有具有该字段的节点。

这可能吗?

I'm developing a new system that talks to a third party via JSON.

One of the calls returns a huge JSON structure to represent products and rules.

I've used Jackson to convert this JSON into a tree quite easily. Now the issue is I want to be able to find nodes by 'querying' without manually traversing the whole tree.

So somewhere deep in the tree is an object which has a field called business_id. I want to return all the nodes that have this field.

Is that possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

与酒说心事 2024-12-12 13:38:43

您可以使用此处记录的 Jackson JsonNode 类:
http://fasterxml.github.io /jackson-databind/javadoc/2.5/com/fasterxml/jackson/databind/JsonNode.html

将数据解析为 JsonNode (例如通过ObjectMapper.readValue),然后您可以以编程方式将该 JSON 结构作为树进行遍历。

查看以下方法:as{datatype}、find[Value|Values]、is[Array|Object|{datatype}]、path 等。

You can use Jackson's JsonNode class documented here:
http://fasterxml.github.io/jackson-databind/javadoc/2.5/com/fasterxml/jackson/databind/JsonNode.html

Parse your data into a JsonNode (e.g. by ObjectMapper.readValue), then you can traverse programmatically that JSON structure as a tree.

Look at methods like: as{datatype}, find[Value|Values], is[Array|Object|{datatype}], path etc.

泪之魂 2024-12-12 13:38:43

您可以尝试 Json Path,它可以让您使用它的 xpath 选取 json 节点:

http:// code.google.com/p/json-path/

You could try Json Path, it lets you pick up a json node using it's xpath:

http://code.google.com/p/json-path/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文