a = {" item" => {" id" =>" 34567"," name" =>& #34; AAX第1项清单23", "说明" =>" AAX项目1清单23"," unit_price" =>" 2342", " item_type" =>"广告资源"," track_qty_on_hand" =>" true", " qty_on_hand" =>" 50000"," inv_start_date" => {"(3i)" =>" 4","(2i)" =>" 5", "(1i)" =>" 2016"}}," company_id" =>" 1"," item_type& #34; = GT;"库存&#34 ;, "量" = GT;" 1232"}
输出:
a [' item'] = {" id" =>" 34567"," name" =>&#34 ; AAX第1项清单23", "说明" =>" AAX项目1清单23"," unit_price" =>" 2342", " item_type" =>"广告资源"," track_qty_on_hand" =>" true", " qty_on_hand" =>" 50000"," inv_start_date" => {"(3i)" =>" 4","(2i)" =>" 5", "(1i)中" = GT;" 2016"}}
a [:item] = nil
那么,如何将数据作为[:item]获取。我需要改变什么?
答案 0 :(得分:1)
'item'
是一个字符串。
:item
是一个符号。
您可以使用.to_sym
方法将字符串转换为符号,这样就可以了:
a['item'.to_sym]
或从头开始将其声明为符号。
a = { :item => {"id"=>"3...
此外,此方法将哈希中的所有键更改为符号: http://api.rubyonrails.org/classes/Hash.html#method-i-symbolize_keys
答案 1 :(得分:0)
您可以使用symbolize_keys更改哈希的符号化键
a = {"item"=>{"id"=>"34567", "name"=>"AAX item 1 Inventory23", "description"=>"AAX item 1 Inventory23", "unit_price"=>"2342", "item_type"=>"Inventory", "track_qty_on_hand"=>"true", "qty_on_hand"=>"50000", "inv_start_date"=>{"(3i)"=>"4", "(2i)"=>"5", "(1i)"=>"2016"}}, "company_id"=>"1", "item_type"=>"Inventory", "amount"=>"1232"}
output = a.symbolize_keys
结果:
{:item=>{"id"=>"34567", "name"=>"AAX item 1 Inventory23", "description"=>"AAX item 1 Inventory23", "unit_price"=>"2342", "item_type"=>"Inventory", "track_qty_on_hand"=>"true", "qty_on_hand"=>"50000", "inv_start_date"=>{"(3i)"=>"4", "(2i)"=>"5", "(1i)"=>"2016"}}, :company_id=>"1", :item_type=>"Inventory", :amount=>"1232"}