杰克逊:如何从JSON请求中获取对象列表

时间:2015-12-18 17:34:55

标签: java json jersey request jackson

有没有人知道如何使用Jackson注释从JSON请求获取对象列表?我认为正确的请求看起来像这样:

    {   
    "movieName": "test",
    "actors": [     
        {       
        "name" : "Adam",
        "birthDate" : "20-10-2015"          
        }      
      ]  
    }

Actor.java

public class Actor {
    //...
    @JsonProperty(value = "name")
    private String name;
    @JsonProperty(value = "birthDate")
    private String birthDate;
    //...

    //getters and setters
}

Movie.java

public class Movie {
    //...
    private String movieName;
    private List<Actor> actors;
    //...

    //getters and setters
}

在我的资源中,我使用内部类MovieResource.ResourceBody,其中包含有关请求的信息作为POJO。映射&#34; movieName&#34;像我预期的那样,但当我试图映射&#34;演员&#34;节点,响应是&#34;无法处理JSON&#34; HTML代码400(错误请求)。这是资源代码:

    @Path("/movies")
    @Produces("application/json")
    public class MovieResource {

        public static class RequestBody {
            public RequestBody() {
            }

            public RequestBody(String movieName, List<Actor> actors) {
                this.movieName = movieName;
                this.actors = actors;
            }

            @JsonProperty("movieName")
            private String movieName;

            @JsonProperty(value = "actors")
            private List<Actor> actors;

            //getters and setters
        }

    //CRUD operations
    }

哪里出错?我想尽可能地使用Annotations。

修改

一切都很好,经过测试后我感到昏迷,感谢@peeskillet

0 个答案:

没有答案