如何使用Gson

时间:2017-04-02 09:57:14

标签: java json serialization gson

我需要获得JSON响应

{
 "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 个答案:

答案 0 :(得分:2)

您需要将text定义为地图或DTO字段名称的键

以下是使用Guava的ImmutableMap地图

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

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

定义名为Data的DTO

public class Data {

    private List<String> text;

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

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

}

然后使用:

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