将JSON转换为嵌套的ruby哈希

时间:2013-11-01 18:15:51

标签: ruby-on-rails ruby xml json

我有一个JSON块,我想将其转换为ruby哈希。

json_blob = {"WHATEVER"=>{"FOO"=>"BAR", "CAT"=>"DAY}}

这样当我使用数据时,我可以检查数据是否存在。例如:

hashed_json_blob[:whatever][:foo]返回"bar"

而且,我也可以处理不存在的值(它们在json_blob中被省略)。

hashed_json_blob[:whatever][:nonexistant]返回nil

注意:如果有一种更简单的方法将数据作为XML,那么可以使用。使用json_blob

提取JSON.parse

2 个答案:

答案 0 :(得分:1)

你的json_blob对象已经一个哈希(在“DAY”结束时减去一个缺少的引号):

json_blob = {"WHATEVER"=>{"FOO"=>"BAR", "CAT"=>"DAY"}}

你可以这样做:

json_blob["WHATEVER"]
=> {"FOO"=>"BAR", "CAT"=>"DAY"}

json_blob["WHATEVER"]["FOO"]
=> "BAR"

与json对象相同的数据如下所示:

{"WHATEVER":{"FOO":"BAR","CAT":"DAY"}}

答案 1 :(得分:0)

gem install json

require 'json'

json_blob = {"WHATEVER"=>{"FOO"=>"BAR", "CAT"=>"DAY}}

abc = JSON.parse(json_blob)

现在您可以对abc

执行操作