2011-03-05 22 views
3

我對Rails 3的使用Ruby和我想下面的JSON數據轉換「複雜」的JSON數據中的哈希

"{\"errors\":{\"base\":\"Invalid field.\"}}" 

這種方式轉換成可訪問一個哈希:

@internal_test1[:errors][:base] 
# => "Invalid field" 

如何做到這一點?


UPDATE

@internal_test1 = "{\"errors\":{\"base\":\"Invalid email/password combination.\"}}" 
test = ActiveSupport::JSON.decode(@internal_test1) 
@internal_test2 = test["errors"] 

調試是

@internal_test1 
--- "{\"errors\":{\"base\":\"Invalid email/password combination.\"}}" 

@internal_test2 
--- 
base: Invalid email/password combination. 

回答

9
> @internal_test1 = ActiveSupport::JSON.decode "{\"errors\":{\"base\":\"Invalid field.\"}}" 
=> {"errors"=>{"base"=>"Invalid field."}} 
> @internal_test1["errors"] 
=> {"base"=>"Invalid field."} 
+0

對不起,也許我錯了。我想在'[基礎]'級別訪問。也就是說,我需要將它轉換爲「完全」散列。 – user502052 2011-03-06 01:37:49

+0

你試過了嗎?這是一個散列。 '@ internal_test1 [「errors」] [「base」]'會在那裏工作。 – jdl 2011-03-06 01:40:13

+0

是的,我做過。你錯了嗎? ...還是我? – user502052 2011-03-06 02:34:44