<game quarter="2">
<quarter number="1">
...
</quarter>
<quarter number="2">
...
</quarter>
</game>
@JsonIgnoreProperties(ignoreUnknown = true)
public class Game {
@JacksonXmlElementWrapper(localName = "quarter")
public Quarter[] quarters;
xmlMapper.readValue(getFileContent(PBP_XML_PATH), Game.class);
com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of Game$Quarter[] out of VALUE_STRING token
at [Source: java.io.StringReader@5f45632; line: 4, column: 1] (through reference chain: Game["quarter"])
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:261)
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:261)
at com.fasterxml.jackson.databind.DeserializationContext.reportMappingException(DeserializationContext.java:1234)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1122)
at com.fasterxml.jackson.databind.DeserializationContext.handleUnexpectedToken(DeserializationContext.java:1075)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.handleNonArray(ObjectArrayDeserializer.java:275)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:179)
at com.fasterxml.jackson.databind.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:20)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:499)
at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:108)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:276)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:140)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3789)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2833)
看起来杰克逊无法处理同名的属性和属性。
从表面上看,这是Jackson-DataFormat-XML-2.9.0版本中的一个已知问题:
在反序列化过程中不能配置属性/元素名称冲突
如果元素的属性和子元素名称相同,则属性似乎被忽略,而元素值被使用
在客户端,我使用gson将JSON表示转换为java对象。然后,我将该对象传递给我的REST服务,它可以正常工作。 问题: 当我的JSON表示在集合中只有一个项时 客户端:
我的映射器是: 如果我删除列表freq并改为字符串freq,它可以工作,但我的JSON可以包含一个或多个freq,所以我需要创建一个列表。我得到的异常如下:
问题内容: 我正在尝试使用Jackson将json数据转换为POJO对象。这是MainActivity和我的POJO类代码。我基本上收到了JsonMappingException错误。我还附上了整个日志。 MainActivity.java: Entries.java(这是POJO) 现在,我的日志中出现以下错误。因此,我无法继续工作。这是日志: 问题答案: 在 条目* 和 电话中 删除构造函数
问题内容: 我有一个使用Jersey构建并部署在AppEngine中的REST服务。REST服务实现使用媒体类型的动词PUT 。数据绑定由Jackson进行。 该动词使用JSON中表示的企业部门关系为 在客户端,我使用gson将JSON表示形式转换为Java对象。然后,将对象传递给我的REST服务,它可以正常工作。 问题: 当我的JSON表示形式在集合中只有一项时 服务无法反序列化对象。 正如其他
给定以下JSON文件: 我试图使用Jackson对象映射器访问JSON文件中的值。具体如下: