用杰克逊穿越json树

时间:2011-09-21 20:44:25

标签: java json jackson

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

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

我使用Jackson很容易将这个JSON转换成树。现在的问题是我希望能够通过“查询”找到节点,而无需手动遍历整个树。

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

这可能吗?

2 个答案:

答案 0 :(得分:0)

你可以尝试使用Json Path,它可以让你使用它的xpath获取一个json节点:

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

答案 1 :(得分:0)

您可以使用此处记录的Jackson的JsonNode类: http://www-01.ibm.com/support/docview.wss?uid=swg21395682

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

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