【发布时间】:2015-04-17 15:29:31
【问题描述】:
我正在尝试将 xml 转换为 json 结构。我得到了所有行,首先提取作为标题并将其与所有下一行一起压缩,但是我必须在 word 属性之后嵌套键,怎么做?
当前步骤:
变量:
header = ["id",
"groupName",
"words",
"Unit",
"Name",
"Image"]
rows = [["1",
"gr 1",
nil,
"1",
"Test",
"test.png"],
["1",
"gr 1",
nil,
"23",
"Taefawe",
"adf.png"]]
当前输出 =>
[{"id"=>"1",
"groupName"=>"Unit 1",
"words"=>nil,
"Unit"=>"1",
"Name"=>"Test",
"Image"=>"test.png"},
{"id"=>"1",
"groupName"=>"gr 1",
"words"=>nil,
"Unit"=>"23",
"Name"=>"Taefawe",
"Image"=>"adf.png"}]
想要的:
[{"id"=>"1",
"groupName"=>"Unit 1",
"words"=>{
"Unit"=>"1",
"Name"=>"Test",
"Image"=>"test.png"
}
},
{"id"=>"1",
"groupName"=>"gr 1",
"words"=> {
"Unit"=>"23",
"Name"=>"Taefawe",
"Image"=>"adf.png"
}}]
当前代码:
rows = doc.sheets.first.rows
header = rows.shift
out = []
rows.each do |row|
out << Hash[header.zip(row.map{|val| val})]
end
【问题讨论】:
标签: ruby-on-rails ruby json hash