我有2个obejct
name.to_json(object1):
[{"name":{"first":"1","second":"2"}},{"name":{"first":"11","second":"22"}}]
和object.to_json(object2):
[{"first":"1","second":"2"},{"first":"11","second":"22"}]
如何将object1转换为object2
rails 2
ruby 1.8.7
也许我可以使用地图,但我不知道该怎么做。
答案 0 :(得分:0)
“转换”意味着转换结构?我假设你的object1是一个哈希数组(它是“看起来像”,但你只给出了JSON表示,所以我不能确定。)
怎么样:
object1.map {|o| o["name"]}
英文:迭代“object1”中的所有对象,并返回“name”键后面的值。
完整示例(从irb会话中复制/粘贴):
irb(main):003:0> object1 = [{"name"=>{"first"=>"1", "second"=>"2"}}, {"name"=>{"first"=>"11", "second"=> "22"}}]
irb(main):004:0> object1.map {|o|o["name"]}
=> [{"first"=>"1", "second"=>"2"}, {"first"=>"11", "second"=>"22"}]
这是你在找什么?
答案 1 :(得分:0)
不确定您是否需要此
[1] pry(main)> require "json"
=> true
[2] pry(main)> JSON.parse('[{"name":{"first":"1","second":"2"}},{"name":{"first":"11","second":"22"}}]')
=> [{"name"=>{"first"=>"1", "second"=>"2"}},
{"name"=>{"first"=>"11", "second"=>"22"}}]
[3] pry(main)> x.collect {|w| w.values}
=> [[{"first"=>"1", "second"=>"2"}], [{"first"=>"11", "second"=>"22"}]]