如何解析JSON数组以列出对象。来自我调用请求的另一个系统的客户端使用主体JSON并返回响应

List<Model1>


作为JSON。当我调用此请求时,我想获得此响应并将其转换为List(在我的系统中)。我知道列表中包含的对象的结构,因此我准备了POJO类以将model1解析为model2。我是否需要将Model2类(系统中的POJO)包装到另一个类?

我正在使用WebTarget,URL已完成,看起来像这样:

WebTarget wt = target();

 wt.path(URL)
.request()
.accept(MediaType.APPLICATION_JSON)
.post(Entity.entity(consumedBody,MediaType.APPLICATION_JSON), Model2);


还是应该使用包含一个包含List字段的包装类,让我们将其称为WrapperModel2

 wt.path(URL)
.request()
.accept(MediaType.APPLICATION_JSON)
.post(Entity.entity(consumedBody,MediaType.APPLICATION_JSON), WrapperModel2);


每次出现错误消息“无法将JSON数组解析为:Model2或WrapperModel2。将Json Array正确解析为特定对象列表的方式是什么?

最佳答案

我相信您正在使用JAX-RS,因此,您可以尝试以下操作:

.post(Entity.entity(request, MediaType.APPLICATION_JSON_TYPE), new GenericType<List<Model2>>() {
        });

10-07 22:06