是否有可能在Spring MVC 4中将Boolean返回为JSON?

Max*_*m R 15 spring json spring-mvc jackson

我在Controller中有一个简单的方法

@RequestMapping("admin")
public @ResponseBody
Boolean admin() {
    Boolean success = true;
    return success;
}
Run Code Online (Sandbox Code Playgroud)

并在回应我想要回报 { "success": true }

Annontation @ResponseBody说响应将是JSON.但现在在回复中,我接受了真实.

有没有其他方法可以解决它?

或者我应该做点什么

@RequestMapping("admin")
public @ResponseBody
Map<String, Boolean> admin() {
    Map<String, Boolean> success = new TreeMap<String, Boolean>();
    success.put("success", true);
    return success;
}
Run Code Online (Sandbox Code Playgroud)

我想知道最佳实践.

Boh*_*rdt 25

您不能返回基本类型(或原始包装类型)并将JSON对象作为响应.您必须返回一些对象,例如Map自定义域对象.

您问题中显示的地图方法完全有效.如果你想要,你可以使用它将它压缩成一个漂亮的单线Collections.singletonMap().

@RequestMapping
@ResponseBody
public Map<String, Boolean> admin() {
    return Collections.singletonMap("success", true);
}
Run Code Online (Sandbox Code Playgroud)