如何在 Ruby 中将 JSON 转换为 XML?
有没有办法在 Ruby 中将 JSON 转换为 XML?
Is there any way to convert JSON to XML in Ruby?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有没有办法在 Ruby 中将 JSON 转换为 XML?
Is there any way to convert JSON to XML in Ruby?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
其他答案不允许简单的递归转换。正如代码审查的这个答案中所解释的,您需要一个自定义帮助器来创建您想要的简单格式寻找。
它将把这个......变成
这样:
The other answers do not allow for simple recursive conversions. As explained in this answer on Code Review, you'll need a custom helper to create the simple format you're looking for.
It will turn this...
...into this:
我不知道有什么神奇的宝石可以做到这一点,但你可以轻松地做的是 xml 到散列和散列到 json。
然后
i don't know a magic gem to do it, but what you can do easily is xml to hash and hash to json.
then
另请注意 to_xml 的根参数。如果您不指定根,它将使用“哈希”一词作为根,这看起来不太好。
Also note the root argument of to_xml. If you don't specify a root it'll use the word 'hash' as the root which isn't very nice to look at.
关于 @rwilliams aka r-dub 答案:
ActiveSupport 将其组件移动到单独的模块中以实现粒度化。我们可以告诉它只加载某些子集,而不是一次加载所有内容,或者,如果我们仍然选择,我们可以一次加载所有内容。无论如何,我们不能像以前那样使用
require 'activesupport'
,而是必须使用require 'activesupport/all'
或其子集之一。此外,ActiveSupport 包含 JSON 支持,因此您可以使用 AR 完成整个转换:
第一行加载 XML 和 JSON 转换。第二行设置一个用于测试的 JSON 示例。第三行采用假装的 JSON,对其进行解码,然后将其转换为 XML。
Regarding @rwilliams aka r-dub answer:
ActiveSupport moved its components into separate modules for granularity. Rather than load everything all at once, we can tell it to load only certain subsets, or, if we still choose, we can load everything at once. No matter what, we can not use
require 'activesupport'
like we used to, instead we have to userequire 'activesupport/all'
or one of the subsets.In addition, ActiveSupport contains JSON support, so you can do the entire conversion with AR:
The first line loads in the XML and JSON conversions. The second line sets up a JSON sample to use for testing. The third line takes the pretend JSON, decodes it, then converts it to XML.