to_json
会转换它,但整个输出会打印在一行中。如何获得格式正确的输出?答案 0 :(得分:0)
您可以使用http://cobravsmongoose.rubyforge.org库来做到这一点。这是一个基于上面链接代码的简单示例:
require 'cobravsmongoose'
xml = '<pdml><packet><proto name="geninfo" pos="1" showname="General information" size="74">...' # PDML document contents
json = CobraVsMongoose.xml_to_json(xml)
# => "pdml":{"packet":{"proto":[{"@name":"geninfo","@pos":"1","@showname":"General information","@size":"74",...
我在http://gd.tuwien.ac.at/.vhost/analyzer.polito.it/30alpha/docs/dissectors/PDMLSpec.htm使用了ICMP示例来测试上面的转换。
要解决有关如何打印输出的原始问题的注释,可以使用JSON库中的#pretty_generate
方法来执行此操作:
require 'json'
pretty_json = JSON.pretty_generate(JSON.parse json) # same json as above
puts json