当前位置: 首页 > 面试题库 >

使用xstream自定义Java集合的序列化

阳宾实
2023-03-14
问题内容

我有一个需要序列化为XML的对象,其中包含以下字段:

List<String> tags = new List<String>();

XStream可以很好地序列化它(在使用一些别名之后),如下所示:

<tags>
  <string>tagOne</string>
  <string>tagTwo</string>
  <string>tagThree</string>
  <string>tagFour</string>
</tags>

就目前而言还可以,但是我希望能够将<string>元素重命名为<tag>。从XStream站点上的别名文档中,我看不到一种明显的方法。我是否缺少明显的东西?


问题答案:

我建议将更List<String>改为List<Tag>,其中Tag是本质上仅包含字符串的域对象。然后你说:

xstream.alias("tag", org.goring.Tag.class);

您将得到您想要的。这样可以避免滚动自己的Converter。



 类似资料:
  • 问题内容: 我试图创建一个IContractResolver来简化WebApi项目上的安全处理。 我正在尝试: 我想基于一组动态条件来序列化某些对象/属性(例如,调用端点的用户角色)。 因此,我实现了一个自定义属性,该属性在Interface的CreateProperty重写中进行了检查,并将ShouldSerialize函数设置为我自己的逻辑。 我现在的问题是,是否可以有条件地序列化某个列表中的

  • 问题内容: 我有一个对象,其中包含一些要序列化的不可序列化字段。它们来自我无法更改的单独API,因此使它们可序列化不是一种选择。主要问题是Location类。它包含我需要的四个可以序列化的东西,所有整数。如何使用read / writeObject创建可以执行以下操作的自定义序列化方法: 我怎样才能做到这一点? 问题答案: Java支持自定义序列化。阅读“自定义默认协议”部分。 去引用: 但是,有

  • 让我知道你的想法,并祝贺这一惊人的作品。在以前的项目中,我们确实使用了storm或spark流媒体,但Flink在实时流媒体分析方面遥遥领先。 谢谢,继续努力!

  • 问题内容: 我有一堂课 我想将下面的JSON数据反序列化到上面的类/对象中 我的想法是在JSON中是一个对象,但我只想获取(在JSON中)在反序列化期间将像在类中那样传递。 如何使用Json.NET实现该目标? 我相信我可以使用CustomJsonConverter完成它。但是我很困惑。docs中的示例仅用于,但不适用。 问题答案: 我只是使用上面在问题中提到的方法解决了我的问题。在我完整的代码下

  • 包装com.company;进口java.io.*; 导入静态com。公司主要的磁盘 公共类存储系统{private static final String FILE_NAME=“D:/Songs.data”; } 无法序列化/反序列化。我有一个应该写入文件然后输出的歌曲列表。我不明白为什么它只读取一首歌。 档案:�Øsrcom。公司歌曲“Ї……ј04јJ L genget Ljava/lang

  • 问题内容: 问题在于,每次执行main方法时,a.xml的旧内容都会丢失,并被新的内容替代。如何在不丢失先前信息的情况下将内容附加到a.xml文件? 问题答案: 样例代码