2016-01-06 57 views
3

我有一個字符串格式的輸入數據。對於以下示例,我可以使用哪種正確的地圖格式?

{key: value, 
key1: value1, 
key2: value2, 
key3:{key4:{k1:v1, 
      k2,v2} 
     key5:{k1:v1, 
      k2:v2} 
     } 
} 

我想從這個JSON數據轉換爲傑克遜使用Java對象:

ObjectMapper mapper = new ObjectMapper(); 
map = mapper.readValue(json, new TypeReference<???>(){}); 

我不能拿出一個最終的地圖結構來存儲這些數據。

任何想法?

+0

你爲什麼要將它存儲到'Map'中?創建一個自定義對象。 – Tunaki

+0

我想操縱這些數據。它實際上是json格式。所以如果我能夠獲得地圖,那麼我很容易獲得必需的屬性 –

+0

這不是正確的JSON格式。 key4和key5需要jsonarray,請更新問題。如果你有有效的JSON檢查下面的鏈接http://stackoverflow.com/questions/34388198/mapping-json-with-varying-object-name/34390512#34390512 – Sunny

回答

1

任何json對象(甚至嵌套)都將使用HashMap作爲目標類型進行反序列化。

Map<String, Object> map = mapper.readValue(json, HashMap.class) 

我經常這樣做。

如果您有json陣列,請使用List.class

相關問題