如何编写接受任何java对象并将其转换为json字符串的通用方法
我正在为基于spring mvc的应用程序编写一些ajax控制器。现在在一个类中,我有三个方法用于三个具有相同根url的单独ajax调用处理程序(这就是为什么我将它们放在一个类中)。现在,在每个控制器中,我必须返回一个Json(stringified),我使用对象映射器来实现它。但当我看到除了参数类型之外,这三种方法看起来完全相似时,我突然想到是否有办法使代码更优雅 ajax控制器调用的方法如何编写接受任何java对象并将其转换为json字符串的通用方法,java,json,spring-mvc,Java,Json,Spring Mvc,我正在为基于spring mvc的应用程序编写一些ajax控制器。现在在一个类中,我有三个方法用于三个具有相同根url的单独ajax调用处理程序(这就是为什么我将它们放在一个类中)。现在,在每个控制器中,我必须返回一个Json(stringified),我使用对象映射器来实现它。但当我看到除了参数类型之外,这三种方法看起来完全相似时,我突然想到是否有办法使代码更优雅 ajax控制器调用的方法 现在,我想知道的是,有没有一种方法可以生成一个方法,因为这三个方法基本上都在做相同的事情。只需使用Ob
现在,我想知道的是,有没有一种方法可以生成一个方法,因为这三个方法基本上都在做相同的事情。只需使用
Object
:
private String translateObjectToString(Object obj) {
try {
return mapper.writeValueAsString(obj);
} catch (JsonProcessingException ex) {
throw new ValidationException(ex);
}
}
Mapper不在乎你给它什么。一切都会很好。好的,是的。只需将一个公共超类或接口作为参数(最终为java.lang.Object),就像ObjectMapper.writeValueAsString所做的那样:可能重复
private String translateObjectToString(Object obj) {
try {
return mapper.writeValueAsString(obj);
} catch (JsonProcessingException ex) {
throw new ValidationException(ex);
}
}