-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

不确定你是否想要这个

[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 回答
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 回答