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

JSON列表反序列化错误

解晟
2023-03-14
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class DatosIndicadoresSVclaveDTO implements Serializable {
    ...
    @XmlAttribute
    @JsonDeserialize(contentAs = IdeologicoVOXDTO.class)
    public List<IdeologicoVOXDTO> ideologicoVox;
    ...

    //getter/setters
}

这是包含列表的POJO

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class IdeologicoVOXDTO implements Serializable {
    @XmlAttribute
    private Integer numeroPalabra;
    @XmlAttribute
    private String palabra;
    @XmlAttribute
    private Integer categoria;
    ...

    //getter/setters
}

JSON具有以下结构:

{datosIndicadoresSVclave: {
        ...
        "ideologicoVox":[
            {
                "categoria":"1", 
                "numeroPalabra":"1", 
                "palabra":"abandonado", 
                ...
            },
            {
                "categoria":"2", 
                "numeroPalabra":"3", 
                "palabra":"hambre", 
                ...
            }
        ],
        ...
    }
}

运行时,web服务的结果运行良好,但反序列化会打印此错误:

共有1个答案

井通
2023-03-14

我也曾遇到过类似的问题,试过下面的方法,结果我成功了。

创建一个包含属性~public List IDELOGICOVOX~的新类

并将该类引用用作主类(即~DatosIndicadoresSVclaveDTO)的属性

 类似资料:
  • 问题内容: 我在Web API项目中使用了Dictionary,该项目的序列化方式类似于JSON: 因为我有重复的键,所以我不能再使用Dictionary类型,而现在我正在使用 但这是以这种方式序列化的: 有没有办法像字典一样进行序列化? 谢谢。 问题答案: 如果您使用Newtonsoft Json.NET库,则可以执行以下操作。 定义一个转换器,以所需的方式写入键/值对的列表: 然后使用转换器:

  • 问题内容: 我有以下JSON字符串要反序列化: 我正在使用DataContractJsonSerializer方法。 它由项目数组组成,我找不到使用VB.Net可以反序列化此结构的示例。我具有以下Application类来存储此信息: 问题答案: 我建议你使用过。原因如下: 更快 比简单的序列化需要更多的代码。 您无需将and 属性与 使用此数据类 并使用它反序列化您的: 如果仍要使用,则可以使用

  • 我有一个简单的问题,假设我有这个json 以这种方式映射: 我想知道是否可以通过使用一些自定义setter/注释或其他东西在内部对象中保存一个外部字段: PS:由于json的复杂性,使用自定义反序列化是我最后的选择

  • 我想解析这个json文件。 {“特征”:[{“类型”:“特征”,“几何”:“{“类型”:“多边形”,“坐标”:[[26.4217861898109,40.127607984644],[26.4219934821323,40.1275230229872],[26.4218810759267,40.1273800013679],[26.4216801413981,40.1274730404221],[

  • 我的JSON如下: 我找到了Newtonsoft JSON。NET为C#反序列化库。我试着使用它如下: 如何访问对象以获取所有“类型”数据?我尝试了一个循环,但它不起作用,因为对象没有枚举器。

  • 问题内容: 我正在使用大猩猩 websocket,并且正在计划使用json进行序列化/反序列化。 假设我有这样的结构来接收传入的消息: 和 大猩猩提供接收传入的消息。传入的消息可以是Foo或Bar,但是我不能使用和收听其他消息,这很混乱。我想要像javascript 这样的东西。如果接收到Foo,则如何处理传入消息,然后将其存储到结构中;如果接收到Bar,则将其存储到结构中? 我正在解决方案正在使