<video src="https://google.com/sample.mp4">
<param>s</param>
<param>Y</param>
<param>Z</param>
</video>
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import java.util.ArrayList;
import java.util.List;
public class Video {
@JacksonXmlProperty(isAttribute = true)
private String src;
@JacksonXmlElementWrapper(localName = "param", useWrapping = false)
private List<String> param = new ArrayList<>();
public String getSrc() {
return src;
}
public List<String> getParam() {
return param;
}
public void setParam(List<String> param) {
this.param = param;
}
}
{
"src": "https://google.com/sample.mp4",
"param": [
"Z"
]
}
{
"src": "https://google.com/sample.mp4",
"param": [
"s",
"Y",
"Z"
]
}
ObjectMapper mapper = new ObjectMapper(new XmlFactory());
mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
Video video = mapper.readValue(s, Video.class);
System.out.println(new ObjectMapper(new JsonFactory()).writeValueAsString(video));
有人能帮我把它弄好吗。谢谢你。
我使用了以下代码,
XmlMapper mapper = new XmlMapper();
mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
Video video = mapper.readValue(s, Video.class);
System.out.println(new ObjectMapper(new JsonFactory()).writeValueAsString(video));
XMLMapper
是来自于程序包com.fasterxml.jackson.dataformat.xml.XMLMapper
希望对你有帮助。
问题内容: 我像这样反序列化json: 有效负载类型取决于类型。我的课: 我也输入了没有有效载荷的“ d”。如果我尝试反序列化: 它可以工作,但不能在没有有效负载的情况下工作: 如何使其与上一个示例一起使用? 我得到的错误的Stacktrace: 问题答案: 我也遇到了这个问题,找不到利用杰克逊(定制提供的机制的一流解决方案,等等)。 看起来像是处理外部类型ID的方式中的错误。我通过以下方法解决了
我像这样反序列化jsons: 其中负载类型取决于类型。我的班级: 我得到的错误的堆栈跟踪:
问题内容: 使用Jackson 2,我正在寻找一种 通用的 方式将对象序列化为单个值(然后序列化它们,然后再填充该单个字段),而不必重复创建JsonSerializer / JsonDeserializer来处理每种情况。@JsonIdentityInfo批注非常接近,但由于我知道,它将始终对完整的子对象进行序列化,因此略微遗漏了该标记。 这是我想做的一个例子。给定的类: 我希望Order可以序列
问题内容: 我有一个包含许多元素的XML文档,每个元素都有一个或属性。看到这个例子: 我需要一种方法告诉Simple将元素反序列化为a 和将元素反序列化为a 。 我怎样才能做到这一点? 如果您想使用它,这是我目前拥有的代码: 问题答案: 现在真正的问题… 我的回答: 没有!或至少,没关系! 像这里这样的属性只是字符串,不能做出任何决定。但是还有另一种好方法: 实施要为其做出决定的转换器 使用a 做
我正在努力找出如何使用杰克逊将具有速记约定的 JSON 反序列化为 Java POJO。 这里的“类型”属性可以是字符串或对象。如果它是一个字符串,那么它被认为是具有默认属性的同一对象的简单简写形式。一、 上例中的1和2是等效的。 据我所知,可以为整个“类型”对象编写自定义反序列化器。据我所知,在这种情况下,我必须手动反序列化整个“类型”对象。但是我真的想只手动处理速记形式,并将正常处理委托给基于