在将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的问题有几个问题,但我读过的都没有解决这个特定问题。
有谁知道什么会导致数据丢失?
答案 0 :(得分:1)
Hash#from_xml
是Rails制作的标准库Hash类的补充。记录此方法在从XML转换为Hash期间在各种条件下丢失属性时很麻烦。
&#34; convert XML to ruby hash with attributes&#34;提供了一些建议。
来源: