Ruby使用json gem从嵌套的json响应中获取值

时间:2017-12-14 11:06:02

标签: json ruby

我有这样的json响应:

@response = {"result":{"amount":0.0}}

如何将金额的值变为变量?

我试过了:

@response['result']['amount']
@response['result'][0] 
@response[0][0] 

我正在使用json gem。

2 个答案:

答案 0 :(得分:1)

试试这个

@response[:result][:amount]

@response对象中的密钥为:symbols而不是strings

了解更多信息:What's the difference between a string and a symbol in Ruby?

答案 1 :(得分:0)

使用嵌套的哈希Ruby' Hash#dig方法非常方便,因为如果任何中间步骤为零,则返回nil。

document.getElementById("brandingName").value = "-1:Select;2:option1";

如果您不确定是否为关键字符串或符号,则可以使用提供@response.dig(:result, :amount) 的{​​{3}}(默认情况下Rails将包含此项)。然后,您可以使用符号和字符串格式化键获取值。