我正在開發一個通過JSON與第三方進行對話的新系統。使用傑克遜遍歷json樹
其中一個調用返回巨大的JSON結構來表示產品和規則。
我已經用Jackson很容易地將這個JSON轉換成樹。現在的問題是我希望能夠通過'查詢'來查找節點,而無需手動遍歷整個樹。
因此,樹中的某個地方有一個名爲business_id的字段。我想返回所有有這個字段的節點。
這可能嗎?
我正在開發一個通過JSON與第三方進行對話的新系統。使用傑克遜遍歷json樹
其中一個調用返回巨大的JSON結構來表示產品和規則。
我已經用Jackson很容易地將這個JSON轉換成樹。現在的問題是我希望能夠通過'查詢'來查找節點,而無需手動遍歷整個樹。
因此,樹中的某個地方有一個名爲business_id的字段。我想返回所有有這個字段的節點。
這可能嗎?
你可以嘗試Json的路徑,它可以讓你使用它的XPath拿起一個JSON節點:
您可以使用傑克遜的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],[Array | Object | {datatype}],路徑等。