我需要获得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+"}";
答案 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);