2011-10-20 29 views
1

我需要快速分析出類似JSON的根節點象下面這樣:傑克遜獲取鍵的值從根陣列

[ 
    {"key":"foo", "value":123}, 
    {"key":"bar", "value":"Hello World!"}, 
    {"key":"far", "value":{"something":1}} 
] 

簡單地說,我需要看的「鑰匙」的值(即「 foo「,」bar「,」far「),以確定是否需要將POJO的」值「部分完全反序列化。

我已經嘗試創建一個POJO映射的類,但是有很多開銷,它特別不喜歡映射,因爲我的值的內部有時是值類型,有時更多JSON。

任何想法如何我可以快速遍歷鍵,然後把值和反序列化呢?

在此先感謝!

回答

0

您可能想要綁定爲樹(ObjectMapper.readTree(),給出根節點的JsonNode),遍歷,然後使用ObjectMapper.readValue(valueNode)分別反序列化值?

+0

謝謝你的回答@StaxMan,你能舉個例子說明我會怎麼做你提到的嗎? – Benny

+1

迷人的接受和downvoted組合。 :-) – StaxMan

+0

至於代碼示例,最好的辦法是加入郵件列表並詢問其他用戶現有的代碼,指針。還有一個想法:即使使用POJO,也可以將「value」定義爲java.lang.Object類型;它給你一個List,Map或者wrapper類型;並且也可以使用「ObjectMapper.convertValue(objectValue,ActualBeanType.class);」基於你所看到的「關鍵」價值。 – StaxMan