2011-11-21 179 views
1

我想解析使用GSON的JSON對象。使用Gson的JSON解析

我的JSON是:

{ "truncate": [ 
      { 
       "lower": 20, 
       "upper": 40, 
       "delimiter": " ", 
       "scope": ["$title"] 
      }, 
      { 
       "lower": 30, 
       "upper": 65, 
       "delimiter": " " 
      } 
     ] } 

我定義我的2類,如:

public class TruncateObj { 

    private List<TruncateObjectChild> objChild; 

    // getter and setter 
} 

public class TruncateObjectChild { 

    private int lower; 

    private int upper; 

    private String delimiter; 

    private List<String> scope; 

// getters and setters 
} 

我解析的語句是

Gson gson = new Gson(); 
TruncateObj truncation = gson.fromJson(template, TruncateObj.class); 

由於某種原因,這是行不通的。 Gson創建TruncatObj子,但TruncateObj中的List<TruncateObjectChild>爲空。

我在做什麼錯?

回答

2

您的TruncateObj中的字段objChild與它在JSON中的名稱不匹配。將該字段重命名爲truncate,然後重試。

或者,你可以註釋objChild場與@SerializedName("truncate")告訴GSON在JSON使用的值從truncate場作爲Java對象的objChild字段的值。

+0

嘿非常感謝。 –

+0

你能幫助expalin「getters和setters」? – Akhil