在创建 JavaScriptConverter 时,要返回数组,您可以使用以下方法:
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
convert
方法:public class MyJavaScriptConverter implements JavaScriptConverter {
private Gson gson = new Gson();
@Override
public Object convert(Object obj) {
if (obj instanceof List) {
return gson.toJson(obj, new TypeToken<List<Object>>() {}.getType());
}
return obj;
}
}
在这个示例中,我们使用了 Google 的 Gson 库来将对象转换为 JSON 数组。如果输入对象是一个列表,我们将使用 Gson 将其转换为 JSON 字符串。
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.GsonHttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.List;
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Bean
public HttpMessageConverter<?> customMessageConverter() {
GsonHttpMessageConverter converter = new GsonHttpMessageConverter();
converter.setGson(new Gson());
return converter;
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(customMessageConverter());
}
}
现在,当您在 Spring MVC 应用程序中返回一个列表时,它将自动转换为 JSON 数组。
这个方法适用于 Spring MVC 应用程序,如果您使用的是其他类型的应用程序,您可能需要根据您的框架进行相应的调整。
领取专属 10元无门槛券
手把手带您无忧上云