Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/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 Spring和Jackson Json:序列化两组不同的字段_Java_Spring_Spring Mvc_Jackson - Fatal编程技术网

Java Spring和Jackson Json:序列化两组不同的字段

Java Spring和Jackson Json:序列化两组不同的字段,java,spring,spring-mvc,jackson,Java,Spring,Spring Mvc,Jackson,我有一个分类接口,用@jsonautodect with Visibility.NONE注释,所以我可以选择单个getter,用@JsonSerialize注释序列化 @JsonAutoDetect(getterVisibility = Visibility.NONE) public interface Classified { @JsonSerialize String getModel(); 在此之前没有问题,当我从@Controller返回带有@ResponseBody

我有一个分类接口,用@jsonautodect with Visibility.NONE注释,所以我可以选择单个getter,用@JsonSerialize注释序列化

@JsonAutoDetect(getterVisibility = Visibility.NONE)
public interface Classified {

    @JsonSerialize
    String getModel();
在此之前没有问题,当我从@Controller返回带有@ResponseBody注释的分类时,它会返回预期的JSON:

    @RequestMapping(value = "/classified/{idClassified}", method = RequestMethod.GET)
    @ResponseBody
    public final Classified getClassified(@PathVariable final int idClassified) {
但是,当我返回一个分类广告列表时,我希望返回一组较小的getter,而使用以下签名时,它显然会返回所有标记的getter:

@RequestMapping(value = "/classified", method = RequestMethod.GET)
@ResponseBody
public final List<Classified> searchClassified(@RequestParam final int idBrand,
    @RequestParam final String priceMax, @RequestParam final int page) {
@RequestMapping(value=“/classified”,method=RequestMethod.GET)
@应答器
公共最终列表searchClassified(@RequestParam final int idBrand,
@RequestParam final字符串priceMax,@RequestParam final int页){
我不知道如何在列表的每一项中返回分类getter的较小子集

“返回一组较小的getter”

如果您的意思是减少列表中的项目数量,请更改控制器searchClassified方法中的业务逻辑


如果您的意思是减少每个项上可用的公共getter方法的数量,则可以创建一个只实现原始项getter子集的接口,并返回它们的列表。

签出“”,它列出了多种更改序列化内容的方法。我想Json视图可能是最简单的一种;可以使用一个较小的视图,然后在没有定义视图时使用默认的“all”模式(默认是序列化所有属性)。

是的,很抱歉不清楚,我是说第二种减少每个项目上可用的公共getter方法的数量"。我今天会试试,谢谢!我喜欢你的解决方案,简单明了,而我仍在努力理解另一个,我发布了一个关于它的新问题。我有一个答案,但我仍然想不出来。问题是,不幸的是,这个解决方案不起作用,即使我返回一个分类公共互联网的列表从表面上看,JSON中有所有属性,包括私有属性,可能是因为Spring通过反射找到它们。实际上,我今天又回到了这个问题。JSON视图是一个有趣的概念,但是,objectMapper由Spring调用,所以我不知道如何显示特定视图。我实际上知道如何使用这些视图。a在阅读了文档之后,我不知道如何使用它们。您真的在Spring中使用过它们吗?谢谢,不,我主要使用JAX-RS(Jersey),所以我只掌握Spring MVC的二手知识