Retornando JsonObject usando @ResponseBody no SpringMVC
Eu estou usando a nova API Java (JSR 353) para JSON em um projeto SpringMVC.
A ideia é gerar alguns dados Json e devolvê-los ao cliente. O controlador eu tenho um pouco parecido com isto:
@RequestMapping("/test")
@ResponseBody
public JsonObject test() {
JsonObject result = Json.createObjectBuilder()
.add("name", "Dade")
.add("age", 23)
.add("married", false)
.build();
return result;
}
E quando eu acesso isso, em vez de obter a representação esperada do JSON, eu os recebo em vez disso:
{"name":{"chars":"Dade","string":"Dade","valueType":"STRING"},"age":{"valueType":"NUMBER","integral":true},"married":{"valueType":"FALSE"}}
Por que é isso? O que está acontecendo? E como faço para retornar corretamente o JSON esperado?