2012-06-15 57 views
1

可能重複:
Parsing JSON to Java POJO's using GSON使用GSON以JSON> POJO

我想這個JSON映射到與GSON一個POJO:

{ 
"get_lists": [ 
    { 
     "Solution": [ 
      { 
       "A05": "Herhalingsbezoek vereist" 
      }, 
      { 
       "A03": "Melding met oh verholpen" 
      } 
     ] 
    }, 
    { 
     "Problem": [ 
      { 
       "R07B": "Aandrijving" 
      }, 
      { 
       "R07C": "Coating" 
      } 
     ] 
    } 
] 
} 

然而,解決方案和問題中的鍵和值都可能有所不同,我之前不必處理這些。

+0

它們是如何變化的? –

回答

3

如果你的鑰匙變化不大,你可以讓一個班級擁有所有需要的領域?

如果不是你擁有了這些解決方案:

  • 使用custom Deserializer

  • 解碼爲原始集合:這是an example very similar to your problem

  • 反序列化的解決方案使用HashMap<String, String>[]

    public class ListItem { 
        public HashMap<String, String>[] Solution; 
        public HashMap<String, String>[] Problem; 
    } 
    
    public class Message { 
        public ListItem[] get_lists; 
    } 
    

這是一個有點沉重,但它避免了使用自定義解串器。

+0

它們的不同之處在於,鍵和值可以被添加或改變。 – MaikelS

+0

我試着你的HashMap解決方案,我想即時讓我的get_lists作爲列表的數組正確地得到它們,但即時通訊映射到ListItem中的HashMaps時遇到問題。 – MaikelS

0

根據我給定結構代表下面POJO

class OuterObject 
{ 
private List<MyObject> getLists; 
} 

private class MyObject 
{ 
private List<MyKeyValuePair> myList; 
} 

private class MyKeyValuePair 
{ 
private String key; 
private String value; 
} 

願這幫助

+0

謝謝,我知道GSON如何將它映射到POJO上,但我實際上不知道這些鍵。鍵和值都可以隨時更改。 – MaikelS