Ruby:如何重命名为空字符串的哈希键?
我从我们的API团队得到一个哈希返回,其中包括一个项的空键。响应如下所示:Ruby:如何重命名为空字符串的哈希键?,ruby,hash,Ruby,Hash,我从我们的API团队得到一个哈希返回,其中包括一个项的空键。响应如下所示: user = [ { 'name' : 'John Doe', 'roles' : { '' : 'admin', 'team2' : 'user' } ] user.roles.each {|r| r['default'] = r.delete('')} 我想将角色['']键重命名为角色['default'],但我找不到这样做的方法。如果我尝试这样的方法: use
user = [
{
'name' : 'John Doe',
'roles' : {
'' : 'admin',
'team2' : 'user'
}
]
user.roles.each {|r| r['default'] = r.delete('')}
我想将角色['']
键重命名为角色['default']
,但我找不到这样做的方法。如果我尝试这样的方法:
user = [
{
'name' : 'John Doe',
'roles' : {
'' : 'admin',
'team2' : 'user'
}
]
user.roles.each {|r| r['default'] = r.delete('')}
它返回无法将字符串转换为整数
除了重写API返回之外,还有其他方法可以实现这一点吗(我们已经清楚地说明了这一点)。您不需要在角色上调用每个
。它将枚举所有键/值对。当你只对一双感兴趣时。这应该做到:
user.roles['default'] = user.roles.delete('')
编辑
为什么用户
变量持有数组?这难道不会让你困惑吗?那不是一个有效的Ruby对象。就是这样。非常感谢!