2017-04-02 59 views
0
保持列表名稱

我需要得到JSON響應如何使用GSON

{ 
"text": [ 
      "blabla", 
      "blabla", 
      "blabla" 
] 
} 

我有一個字符串

List<String> text = new ArrayList<String>(); 
text.add("blabla"); 
text.add("blabla"); 
text.add("blabla"); 

的名單我怎樣才能得到賴特的結果,因爲我的解決方案在我看來不是最好的?

Gson gson = new GsonBuilder().setPrettyPrinting().create(); 
String answ = gson.toJson(text); 
return "{\"text\":"+answ+"}"; 
+1

的JSON是一個對象,與名爲文本一個屬性,包含一個字符串數組。因此,將它映射到一個名爲text的屬性的Java對象,其中包含一個字符串列表。 –

回答

2

您需要定義text地圖或DTO的字段名的關鍵

這裏是如何使用利用番石榴的ImmutableMap地圖做

return gson.toJson(ImmutableMap.of("text", text)); 

或者

HashMap<String, List<String>> map = new HashMap<>(); 
map.put("text", text); 
return gson.toJson(map); 

定義名爲數據

public class Data { 

    private List<String> text; 

    public List<String> getText() { 
     return text; 
    } 

    public void setText(List<String> text) { 
     this.text = text; 
    } 

} 

DTO然後使用:

Data data = new Data(); 
data.setText(text); 
return gson.toJson(data);