当前位置: 首页 > 知识库问答 >
问题:

如何将对象数组String反序列化为对象数组?

夹谷苗宣
2023-03-14

我有一个回应 正文

[{"vendorName":"ABC","vendorAPI":"Some_API","enrichmentGroupingLevel":[{"Test":{"score":0.233,"risckscore":229},"level":"all"}],"error":{},"statusCode":200}]",
CoreV2Response[] getEnrichmentResponse = objectMapper.readValue(responseBody, CoreV2Response[].class);

下面是我要映射的coreV2Response类

public class CoreV2Response {
            @JsonProperty("vendorName")
            private String vendorName;
            @JsonProperty("vendorAPI")
            private String vendorAPI;
            @JsonProperty("enrichmentGroupingLevel")
            private Object[] enrichmentGroupingLevel;
            @JsonProperty("error")
            private Object[] error;
            @JsonProperty("statusCode")
            private int statusCode;
        }
I am getting error 
Cannot deserialize instance of [Ljava.lang.Object; out of START_OBJECT tokenat [Source: (String)"[{"vendorName":"Ekata","vendorAPI":"Account_Opening_V1.0","enrichmentGroupingLevel
```
 
Can someone help me with deserialization?
I have added my both the codes for response template class and mapper object

共有1个答案

支劲
2023-03-14

在您的json字符串中,错误在对象中

"error": {}

但是在CoreV2Response中,您将error字段声明为对象数组:

private Object[] error;

在您的情况下,您不能将json对象反序列化为集合、数组。您必须将error声明为对象

private Object error;

反序列化没有问题。

 类似资料:
  • 我有以下JSON文件要反序列化

  • 问题内容: 我有由第三方编码为固定长度数组的json’ed 元组数组: 我想使用json魔术来获取的实例列表 请帮助我放置适当的注释,以使ObjectMapper发挥作用。 我无法控制传入的格式,而我所有的google’n都以答案来回答如何将适当的json对象(而非数组)数组映射到对象列表 问题答案: 添加以下注释: 并且它应该根据需要序列化条目。 另外:然后使用它来强制执行特定顺序是最安全的,因

  • 问题内容: 我有一个带有JSON数组的有效JSON对象。JSON数组没有花括号,并且包含逗号分隔的混合类型列表。看起来像这样: 我创建了一个反映JSON结构的类,为复杂数组提供了一个List: 我也用列表列表进行了测试: 子模型如下所示: 在我的program.cs文件中,我正在反序列化如下: 当我运行该程序时,子对象(Rows)始终为。我究竟做错了什么? 问题答案: Json.Net没有将数组自

  • 我在我的Android应用程序中使用了外部API。问题是在响应中,我不知道如何反序列化返回对象列表。我得到的JSON有这样的格式: 改装中的API调用如下所示: 我想忽略属性,并从该响应中检索。我知道我可以创建一个自定义的反序列化器,像这里这样忽略JSON中的一些字段,并像这里这样将成员转换为数组,但是在第二个链接中,我需要一个包装器类来形成我所期望的我的。有没有可能在我的列表/数组周围没有包装器

  • 问题内容: 在杰克逊的数据绑定的文档表明,杰克逊支持deserialising“所有支持类型的数组”,但我不能找出确切的语法这一点。 对于单个对象,我可以这样做: 现在,对于数组,我想这样做: 有人知道是否有不可思议的命令吗?如果没有,那么解决方案是什么? 问题答案: 首先创建一个映射器: 作为数组: 作为列表: 指定列表类型的另一种方法:

  • 我像这样接收JSON 当然,我实现了包含所有字段和类的类Track、Album和Playlist 顺便说一句,我不能改变JSON。所以我需要一个代码来解析它。