2014-11-14 131 views
0

我有以下JSON解析和返回哈希表

{ 
    "sample":{ 
     "1":{ 
      "a":100, 
      "b":101 

     }, 
     "2":{ 
      "a":200, 
      "b":101 
     }, 
     "3":{ 
      "a":100, 
      "b":102 
     } 
    } 
} 

格式樣本JSON字符串有沒有辦法中檢索格式地圖(字符串,地圖(字符串,整數))中的數據。在內部映射中,我只需要第一個元素「a」。我知道我們可以定義一個新的類結構並獲取數據並通過ObjectMapper進行相同的轉換,這對我來說不是必需的。讚賞幫助。

回答

1

你可以試試這個:

Map<String, Map<String, Integer>> map = 
new GsonBuilder().create().fromJson(json, new HashMap<String, HashMap<String, Integer>>().getClass()); 
2

我看到的唯一途徑,就是你通過映射器在發送之前改變你的對象在需要的代表性。

無論如何,從我的角度來看,您應該儘量避免操縱生成的JSON,因爲它很容易導致生產混亂或者其他開發人員不得不接管您的工作。

這是一個更簡潔的方式來定義一個表達所需表示的DTO。

最好問候