*** EDITED第二次表明我需要處理在多個位置查找。使用.present解析嵌套哈希? - 未定義的方法`[]'爲零:NilClass(NoMethodError)
編輯,以顯示例外的提高,即使內置處理器。
我目前通過響應解析來自包括我已經轉換成一個散列數組的API使用
hash_table = xml_response.to_h
我面臨的挑戰是,有時我正在尋找的數據位於不同的位置,並且當我使用密鑰方法時:
data_i_need = hash_table['key1']['key2'][0]
如果有什麼也沒有,它拋出這個錯誤:
undefined method `[]' for nil:NilClass (NoMethodError)
我已經嘗試使用:
if hash_table['key1']['key2'][0].present?
data_i_need = hash_table['key1']['key2'][0]
puts "data was here"
elsif hash_table['key3']['key4'][0].present?
data_i_need = hash_table['key3']['key4'][0]
puts "data here"
elsif hash_table['key5']['key6'][0].present?
data_i_need = hash_table['key5']['key6'][0]
puts "data here"
else
"data not found"
end
但它拋出了同樣的錯誤:
undefined method `[]' for nil:NilClass (NoMethodError)
您是否考慮過使用Nokogiri和XPath直接處理XML?可能比試圖通過一堆嵌套的Hashes更容易。 – 2014-11-25 03:15:04
如果更容易,我會很高興。 – 2014-11-25 04:30:14