gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 06:23:36 28 4
gpt4 key购买 nike

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

ajax Controller 调用的方法

private String translateGetABCResponseToString(ABC response) {
try {
return mapper.writeValueAsString(response);
} catch (JsonProcessingException ex) {
throw new ValidationException(ex);
}
}

private String translateGetDEFResponseToString(DEF response) {
try {
return mapper.writeValueAsString(response);
} catch (JsonProcessingException ex) {
throw new ValidationException(ex);
}
}

private String translateGetXYZResponseToString(XYZ response) {
try {
return mapper.writeValueAsString(response);
} catch (JsonProcessingException ex) {
throw new ValidationException(ex);
}
}
<小时/>

现在,我想要的是有没有一种方法可以创建一个方法,因为所有三个方法本质上都在做同样的事情。

最佳答案

只需使用对象:

private String translateObjectToString(Object obj) {
try {
return mapper.writeValueAsString(obj);
} catch (JsonProcessingException ex) {
throw new ValidationException(ex);
}
}

Mapper 并不关心你给它什么。一切都会很好。

关于java - 如何编写一个通用方法来接受任何 java 对象并将其转换为 json 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47659644/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com