java - 如何从 REST post 请求中解析 Json 数组

标签 java arrays json java-8 java-ee-8

如何解析 JSON 数组以列出对象。我调用请求的另一个系统的客户端正在消耗正文 JSON 并返回响应

List<Model1>

作为 JSON。当我调用此请求时,我想获取此响应并将其转换为列表(位于我的系统中)。我知道列表中包含的对象的结构,因此我准备了 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 数组正确解析为特定对象列表?

最佳答案

我相信您正在使用 JAX-RS,所以您可以尝试一下吗:

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

关于java - 如何从 REST post 请求中解析 Json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61618749/

相关文章:

java - 在 jdk 8 中的接口(interface)上定义静态(非继承)方法的正确语法是什么?

python - 为什么我不能将列表中的元素相乘?

javascript - 在合并对象的键中创建值数组

php - 如何使用 JSON 更新 PHP 中的 MYSQL 表

java - Eureka/Discovery 服务与路由

java - session 属性被另一个 session 访问

javascript - 如何将选中的项目添加到与未选中的项目不同的数组中? Angular js

java - 使用 Java 将 DynamoDB JSON 转换为标准 JSON

java - 我是否需要扩展 ClassLoader 来重定向 Web 应用程序资源加载?

python - 我如何有效地将列表的python3列表更改为golang多维数组?