如何检查数组是否有地图键存在于轨道上的红宝石?

时间:2018-07-12 05:14:16

标签: ruby-on-rails

json_array = [{"id":82,"access_token":"3d04ba958abffbbb69f79dd2e108729e"}]

if json_array[0].key?(:access_token)
 return true
else
 return false
end

每次返回false

2 个答案:

答案 0 :(得分:0)

如果您正在使用滑轨,它应该可以正常工作,如果它是纯红宝石,那么您需要准确知道键的类型,

在ruby json_array[0].key?(:access_token)中将返回false,因为该键是json数组中的字符串类型,并且您正在检查该键是否以符号形式存在,因此使其在您需要的情况下起作用

return json_array.first.key?("access_token")

在这种情况下,您无需执行返回true或false的操作,只需返回密钥检查的结果

这在rails中有效,因为通过action controller parameters,您可以使用字符串或符号表示形式来访问哈希元素。

希望这会有所帮助

答案 1 :(得分:0)

因为"access_token":access_token不同,所以返回false。

请尝试检查密钥"access_token"