【发布时间】:2015-07-27 10:34:44
【问题描述】:
我想比较两个 XML 文件,其中一个是输入,另一个是输出。我将两者都转换为哈希。
我的想法是将输入 XML 中的所有键转换为哈希,并在输入和输出哈希中搜索每个键以查找它们各自的键/值对。
我有一个哈希:
{
"requisition_header" => {
"requested_by" => {"login" => "coupasupport"},
"department" => {"name" => "Marketing"},
"ship_to_address" => {"name" => "Address_1431693296"},
"justification" => nil,
"attachments" => [],
"requisition_lines" => [
{
"description" => "Cleaning Services for Building A",
"line_num" => 1,
"need_by_date" => 2010-09-23 07:00:00 UTC,
"source_part_num" => nil,
"supp_aux_part_num" => nil,
"unit_price" => #<BigDecimal:a60520c,'0.3E4',9(18)>,
"supplier" => {"name" => "amazon.com"},
"account" => {
"code" => "SF-Marketing-Indirect",
"account_type" => {"name" => "Ace Corporate"}
},
"currency" => {"code" => "USD"},
"payment_term" => {"code" => "Net 30"},
"shipping_term" => {"code" => "Standard"},
"commodity" => {"name" => "Marketing-Services"}
}
]
}
}
它是嵌套的,所有的值都不能直接访问。
我想要一种方法来生成对散列中每个值的直接访问。
例如:
requisition_header.requested_by.login
将访问“coupasupport”。
requisition_header.department.name
将访问“营销”。
requisition_header.requisition_lines[0].description
将访问“A 楼清洁服务”。
requisition_header.requisition_lines[0].line_num
将访问“1”。
requisition_header.requisition_lines[0].need_by_date
将访问“2010-09-23 07:00:00 UTC”。
构建的每个键都可用于直接在散列中搜索值。
【问题讨论】:
-
您的示例哈希太大。在提供样本数据时,将其减少到证明问题所需的最低限度。再长一点,你就会浪费我们的时间,耽误我们帮助你的能力。
标签: ruby