2013-07-31 24 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