服务器层将返回String值列表,如
{"Bob", "Charlotte", "Johnson", "David"...}
现在我们需要List String作为一个Json对象来推送到前端,比如
[{id: "Bob"}, {id: "Charlotte"}, {id: "Johnson"}, {id: "David"...}]
或
[{name: "Bob"}, {name: "Charlotte"}, {name: "Johnson"}, {name: "David"...}]
任何标签都没问题,我们只需要一个标签就可以将它作为JSON对象。杰克逊有没有东西可以默认转换字符串列表i.e. {string: "Bob"}
?那将是非常可爱的......
答案 0 :(得分:7)
最简单的方法是让您的控制器方法返回一个完全映射到您想要的JSON的结构 - 例如List<SomeObject>
其中SomeObject
是一个String id
字段的类
答案 1 :(得分:1)
这样做的方法是将您的String列表转换为新地图。
代码:
@ResponseBody
@RequestMapping("/mapping")
function mySpring()
{
List<String> myStringList;
Map<String,String> jsonMap= new LinkedHashMap<String,String>();
// Use LinkedHashMap if you want to maintain order
String key="id";
// Id or Name
for (String myString: myStringList)
{
jsonMap.put(key,myString);
}
return jsonMap;
}