Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编写接受任何java对象并将其转换为json字符串的通用方法_Java_Json_Spring Mvc - Fatal编程技术网

如何编写接受任何java对象并将其转换为json字符串的通用方法

如何编写接受任何java对象并将其转换为json字符串的通用方法,java,json,spring-mvc,Java,Json,Spring Mvc,我正在为基于spring mvc的应用程序编写一些ajax控制器。现在在一个类中,我有三个方法用于三个具有相同根url的单独ajax调用处理程序(这就是为什么我将它们放在一个类中)。现在,在每个控制器中,我必须返回一个Json(stringified),我使用对象映射器来实现它。但当我看到除了参数类型之外,这三种方法看起来完全相似时,我突然想到是否有办法使代码更优雅 ajax控制器调用的方法 现在,我想知道的是,有没有一种方法可以生成一个方法,因为这三个方法基本上都在做相同的事情。只需使用Ob

我正在为基于spring mvc的应用程序编写一些ajax控制器。现在在一个类中,我有三个方法用于三个具有相同根url的单独ajax调用处理程序(这就是为什么我将它们放在一个类中)。现在,在每个控制器中,我必须返回一个Json(stringified),我使用对象映射器来实现它。但当我看到除了参数类型之外,这三种方法看起来完全相似时,我突然想到是否有办法使代码更优雅

ajax控制器调用的方法

现在,我想知道的是,有没有一种方法可以生成一个方法,因为这三个方法基本上都在做相同的事情。

只需使用
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);
    }
}