我有一组具有多个数据级别的 JSON 数据。 JSON 片段(请忽略缺少的格式):
DATA SET A:
"interaction": {
"author": {
"username": "johndoe",
"name": "John Doe"
}
},
"gender": "male"
DATA SET B:
"interaction": {
"author": {
"name": "Jane Doe"
}
},
"gender": "male"
在单级中我可以使用:
if record.has_key?('gender')
如果 key 存在,将返回 true/false 值。
如果我尝试播种数据但 key 不存在,则会抛出错误并停止播种。
我的问题:如何检查“用户名”键是否存在。例如,数据集 B 没有用户名 key ,会引发错误,但我不知道如何修改 has_key() 命令来检查下几个级别。
感谢您的帮助。
最佳答案
我决定解决 has_key
方法并使用 begin/rescue/end。
begin
@data.username = record['interaction']['author']['username']
rescue
@data.username = nil
end
关于ruby-on-rails-3 - 在多级 JSON 数据的 Rails 数组中使用 has_key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12112989/