我有这样的JSON响应:
@response = {"result":{"amount":0.0}}
如何将金额的价值获取到变量?
我尝试过:
@response['result']['amount']
@response['result'][0]
@response[0][0]
我正在使用JSON GEM。
尝试此
@response[:result][:amount]
@response
对象中的密钥是:symbols
不是strings
有关更多信息:Ruby中的字符串和符号有什么区别?
带有嵌套散列的ruby的 Hash#dig
方法非常方便,因为如果任何中间步骤为nil,它将返回零。
@response.dig(:result, :amount)
如果不确定是键字符串或符号,则可以使用ActiveSupport :: HashWithIndifferentAccess提供Hash#with_indifferent_access
(默认情况下将包括此)。然后,您可以使用符号和字符串格式的键获得值。