【发布时间】:2016-09-22 04:49:55
【问题描述】:
在将 Nokogiri 对象转换为 XML,然后再转换为 JSON 时,大部分内容都消失了。
获取数据并转换的代码:
def get_data
doc = Nokogiri::HTML(open("<url>", "User-Agent" => "Ruby/#{RUBY_VERSION}"))
# Get interesting block of HTML
blurb = doc.css('.entry')
# Convert Nokogiri object to XML
xmlBlurb = blurb.to_xml
# Convert to JSON
jsonBlurb = Hash.from_xml(xmlBlurb).to_json
return jsonBlurb
end
不知何故,在xmlBlurb 和jsonBlurb 之间,我将从10 多行XML 转换为只有1 个属性的单个JSON 对象{ attr: content }。
我知道关于将 XML 转换为 JSON 的 SO 有几个问题,但我阅读的内容都没有解决这个特定问题。
有谁知道什么会导致数据丢失?
【问题讨论】:
-
请编辑您的问题以包含您期望的输入 XML 和 JSON 输出。另外,
Hash.from_xml是什么?它不是标准的 Ruby 方法,也不是来自 Nokogiri。 -
您的标题具有误导性。将 XML 转换为 JSON 不会丢失内容,您的代码会丢失内容。阅读“minimal reproducible example”。您的代码没有说明问题,并且您缺少帮助您所需的最少示例输入。