-1

私は2つのオブジェクトを持っています

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

地図は使えるかもしれませんが、どうすればいいのかわかりません。

4

2 に答える 2

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"}]

これはあなたが探しているものですか?

于 2013-03-06T11:09:42.157 に答える
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"}]]
于 2013-03-06T11:17:31.903 に答える