2011-03-18 25 views
19
[ 
"KEY1":{"SUB_KEY1" : "VALUE1","SUB_KEY2" : "VALUE2"}, 
"KEY2":{"SUB_KEY1" : "VALUE1","SUB_KEY2" : "VALUE2"} 
] 

上面是我的json对象,它是作为响应而来的。从ruby中获取json的特定键值

如何在Ruby on Rails中获得SUB_KEY1KEY1SUB_KEY1KEY2

谢谢。

回答

19

parsed_json = ActiveSupport::JSON.decode(your_json_string)

会分析你的字符串作为

 
[{"KEY1"=>{"SUB_KEY1"=>"VALUE1", "SUB_KEY2"=>"VALUE2"}}, {"KEY2"=>{"SUB_KEY1"=>"VALUE1", "SUB_KEY2"=>"VALUE2"}}] 

您应该能够使用的东西来访问它像parsed_json[1]["KEY2"]["SUB_KEY1"]

+2

难道不是第0个索引像'parsed_json [0] [“KEY2” ] [ “SUB_KEY1”]'? – 2013-07-15 14:40:42

28

您需要将JSON对象解析为红宝石哈希。假设你的JSON响应名为res:

require 'json' 
obj = JSON.parse(res) 

sv1 = obj['KEY1']['SUB_KEY1']