Zwracanie JsonObject za pomocą @ResponseBody w SpringMVC
Używam nowego API Java (JSR 353) dla JSON w projekcie SpringMVC.
Chodzi o to, aby wygenerować część danych Jsona i zwrócić je klientowi. Kontroler mam wyglądać mniej więcej tak:
@RequestMapping("/test")
@ResponseBody
public JsonObject test() {
JsonObject result = Json.createObjectBuilder()
.add("name", "Dade")
.add("age", 23)
.add("married", false)
.build();
return result;
}
A kiedy uzyskuję do niego dostęp, zamiast uzyskiwać oczekiwaną reprezentację JSON, otrzymuję je:
{"name":{"chars":"Dade","string":"Dade","valueType":"STRING"},"age":{"valueType":"NUMBER","integral":true},"married":{"valueType":"FALSE"}}
Dlaczego to? Co się dzieje? I jak sprawić, by poprawnie zwrócił oczekiwany JSON?