2013-07-31 57 views
0

我能夠使用Google Gson將簡單的Json轉換爲java對象。問題是我無法將這種特定類型的響應轉換爲java對象。我認爲這是由於我不確定如何真正爲它建模java類。以下是JSON:將特定的JSON轉換爲Java對象

{ 
"List": { 
    "Items": [ 
     { 
      "comment": "comment", 
      "create": "random", 
      "ID": 21341234, 
      "URL": "www.asdf.com" 
     }, 
     { 
      "comment": "casdf2", 
      "create": "rafsdfom2", 
      "ID": 1234, 
      "Url": "www.asdfd.com" 
     } 
    ] 
}, 
"related": { 
    "Book": "ISBN", 
    "ID": "id" 
}} 
+0

你可以分享你的java類用於這個Json表示嗎?順便說一句,這個JSON並不複雜 –

+0

這就是問題所在。問題是他/她無法弄清楚如何建模類。我認爲。 – Joe

+0

Joe是正確的 – gvar

回答

0

我還沒有專門GSON工作,但我已經在新澤西州和JAXB JSON/Java的轉換工作。 我想說翻譯JSON文本的最簡單方法是將每個{..}映射到一個Class,並將[..]映射到一個List。

例如:

Class Data { 
    HistoryListClass HistoryList; 
    Relation related; 
} 

Class HistoryListClass { 
    List<History> history; 
} 

Class History { 
    String comment; 
    String create; 
    int ID; 
    String ttURL; 
} 

Class Relation { 
    String book; 
    String ID; 
} 

參見: Converting JSON to Java

在JSON代碼 「HistoryList」 元素或許應該寫成 「historyList」,只是看着給出的代碼,我建議您將其更改爲直接包含「歷史記錄」對象列表。

+0

這工作很好,但@ Icermann的字段名稱不完全相同的問題的結構。 –

+0

之後,調用「Data data = new Gson()。fromJson(inputJsonString,Data.class); –

+0

爲什麼它和問題的結構不一樣? – gvar