2015-09-29 34 views
0

我打电话,返回JSON对象数组的API,我可以访问API调用的返回值访问API的只有一个属性 - Ruby on Rails的4

[{"param1":1,"param2":"blah1"}, 
{"param1":2,"param2":"blah2"}, 
{"param1":3,"param2":"blah3"}] 

我知道我可以通过迭代或静态索引访问每个参数1,如@client[0].param1@client[1].param1@client[2].param1但事情是,我不想param2,我只想param1。有没有什么办法,访问参数1不重复或静态索引 这样我就可以在响应得到下面的结果

[{"param1":1}, 
{"param1":2}, 
{"param1":3}] 

更新

要注意的事情是,我想过滤结果同时使 请求(获得响应之前,当我们知道属性 名)

回答

0

Tr的y使用delete

从键值等于 键的hsh中删除并返回一个键值对。如果找不到密钥,则返回默认值。如果给出 可选代码块并且未找到密钥,则传入密钥 并返回块的结果。

data = [{"param1":1,"param2":"blah1"}, 
{"param1":2,"param2":"blah2"}, 
{"param1":3,"param2":"blah3"}] 

data.each {|x| x.delete("param2")} 

更多有关delete。 我希望这对你有所帮助。

+0

感谢亲爱的回应,但我想我不能让自己清楚。如果可能,请再次查看问题并再次回答。在此先感谢,顺便说一下,你做的事是对的,我们也可以利用ruby'map'方法和其他一些方法,但只有当我们有回应时。我想在获得响应之前过滤数据 – ImranNaqvi