在 Java 中使用 XStream 序列化为 YAML
是否有适用于 Java XStream 包的 YAML 驱动程序?
已经使用 XStream 来序列化/反序列化 XML 和 JSON。 我希望能够使用 YAML 做同样的事情。
Is there a YAML driver for the Java XStream package?
I'm already using XStream to serialise/deserialise both XML and JSON. I'd like to be able to do the same with YAML.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
要解析 YAML 文档,您可以使用此链:
YAML-> SnakeYAML ->; Java-> 您的应用程序(-> XStream -> XML)
发出 YAML 更简单,有几个选项:
1) 您的申请-> 带有自定义编写器的 XStream -> YAML
2) 您的申请-> SnakeYAML ->; YAML
第二个选项不需要任何额外的开发。
To parse a YAML document you can use this chain:
YAML -> SnakeYAML -> Java -> Your Application (-> XStream -> XML)
Emitting YAML is simpler and there are a couple of options:
1) Your Application -> XStream with Custom Writer -> YAML
2) Your Application -> SnakeYAML -> YAML
The second option does not require any additional development.
您可能会发现这有助于获得指导:XStream - 如何将对象序列化为非 XML 格式< /a>
You might find that helpful to get a direction: XStream - how to serialize objects to non XML formats
我使用了 JYAML,效果非常好。 我知道它不能直接回答你的问题,但效果很好。
I used JYAML and it worked great. I know it doesn't directly answer your question but it works well.
虽然 XStream 对于 XML 来说非常好,但由于使用 Badgerfish 表示法进行转换,它生成的 JSON 相当难看。
但是您可以考虑对所有 3 个使用 Jackson; 因为虽然默认包只处理 JSON,但 XML 和 YAML,并且所有工作都使用相同强大的数据绑定功能,只是在低级解析器和生成器上有所不同(对于 XML,使用 Stax API)
While XStream is pretty nice for XML, JSON it produces is rather ugly, due to conversion using Badgerfish notation.
But you could consider using Jackson for all 3; since while the default package just handles JSON, there are extensions for both XML and YAML, and all work using same powerful data-binding functionality, just differ on low-level parsers and generators (for XML, Stax API is used)