Java反序列化
Java Deserialization
我有 xml 那样的回应
<service>Service name</service>
...
some fields
...
<service>
<min_amount>6</min_amount>
<max_amount>1522</max_amount>
<max_limit>3000</max_limit>
<currency>USD</currency>
</service>
我需要将它反序列化为 POJO
@JacksonXmlProperty(localName = "service")
private String service;
... some more fields ...
@JacksonXmlProperty(localName = "service")
private Service serviceObject;
但我得到 com.fasterxml.jackson.databind.JsonMappingException:代表 属性“服务”的多个字段,我该如何解决?
您的 XML 响应的结构无效,因此可能无法正确映射它以进行(反)序列化。
您有两个名称相同的标签 service
,但结构不同。
我假设您不是服务的所有者,产生了这个 XML,但是应该重命名这个标签之一,或者应该为它们使用两个单独的命名空间。
您的 XML 响应不正确,因为您对两个不同的事物使用了相同的标签名称。例如一个应该是 serviceName
<serviceName>Service name</serviceName>
...
some fields
...
<service>
<min_amount>6</min_amount>
<max_amount>1522</max_amount>
<max_limit>3000</max_limit>
<currency>USD</currency>
</service>
我有 xml 那样的回应
<service>Service name</service>
...
some fields
...
<service>
<min_amount>6</min_amount>
<max_amount>1522</max_amount>
<max_limit>3000</max_limit>
<currency>USD</currency>
</service>
我需要将它反序列化为 POJO
@JacksonXmlProperty(localName = "service")
private String service;
... some more fields ...
@JacksonXmlProperty(localName = "service")
private Service serviceObject;
但我得到 com.fasterxml.jackson.databind.JsonMappingException:代表 属性“服务”的多个字段,我该如何解决?
您的 XML 响应的结构无效,因此可能无法正确映射它以进行(反)序列化。
您有两个名称相同的标签 service
,但结构不同。
我假设您不是服务的所有者,产生了这个 XML,但是应该重命名这个标签之一,或者应该为它们使用两个单独的命名空间。
您的 XML 响应不正确,因为您对两个不同的事物使用了相同的标签名称。例如一个应该是 serviceName
<serviceName>Service name</serviceName>
...
some fields
...
<service>
<min_amount>6</min_amount>
<max_amount>1522</max_amount>
<max_limit>3000</max_limit>
<currency>USD</currency>
</service>