我在structure欄位中存盤了以下 JSON。我想檢查structure[cluster][ID]三元運算子中的 ruby?? 是否存在密鑰。
{
"ID": "client DEF",
"cluster": {
"ID": "cluster 789",
"flights": 4,
"profit": 5245,
"clv": 2364
},
"segment": {
"ID": "segment 876",
"flights": 2,
"profit": 2150,
"clv": 1564
},
"node": {
"xpos": 1,
"ypos": 2
}
}
例子
structure.has_key?(cluster.ID) ? structure["newField"] = "true" :structure["newField"] = "false"
根級別屬性可以很好地使用has_key?- 我無法檢查嵌套級別元素上是否存在。任何幫助表示贊賞。
uj5u.com熱心網友回復:
我建議使用哈希#dig方法,它可以讓您安全地導航哈希級別。此外,不要使用三元,只需將??測驗值存在的真/假值分配給newField,如果更適合則轉換為字串...
structure['newField'] = structure.dig(:cluster, :id).present?.to_s
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/440704.html
