Cómo obtener texto de error en el controlador de BindingResult

Tengo un controlador que devuelve JSON. Toma una forma, que se valida a través de anotaciones de primavera. Puedo obtener la lista FieldError de BindingResult, pero no contienen el texto que un JSP mostraría en la etiqueta. ¿Cómo puedo obtener el texto de error para enviar de vuelta en JSON?

@RequestMapping(method = RequestMethod.POST)
public
@ResponseBody
JSONResponse submit(@Valid AnswerForm answerForm, BindingResult result, Model model, HttpServletRequest request, HttpServletResponse response) {

    if (result.hasErrors()) {
        response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
        JSONResponse r = new JSONResponse();
        r.setStatus(JSONResponseStatus.ERROR);
        //HOW DO I GET ERROR MESSAGES OUT OF BindingResult??? 
    } else {
        JSONResponse r = new JSONResponse();
        r.setStatus(JSONResponseStatus.OK);
        return r;
    }

}

La clase JSONREsponse es solo un POJO

public class JSONResponse implements Serializable {
    private JSONResponseStatus status;
    private String error;
    private Map<String,String> errors;
    private Map<String,Object> data;

...getters and setters...
}

Llamar a BindingResult.getAllErrors () devuelve una matriz de objetos FieldError, pero no tiene los errores reales.

Respuestas a la pregunta(5)

Su respuesta a la pregunta