处理JSON数据中的单值散列或多值数组

时间:2014-03-20 22:32:20

标签: ruby-on-rails ruby arrays json hash

我有一个JSON数据馈送,其中值是一个哈希值(如果有单个值),如果有多个值则是一个数组(参见下面的JSON数据)。

JSON数据:

# multiple values in option
{"options":{"option":[{"$t":"hasShots"},{"$t":"housebroken"}]}

# single value in option
{"options":{"option":{"$t":"hasShots"}}

我可以在Ruby中检查该值是否是使用is_a?的哈希值或数组,然后相应地提取数据并将其转换为对象。这是通常会如何完成的,还是有更好,更优雅的方式在Ruby中编码?

(注意:我认为这是一个很常见的事情,可能有很好的解决方案来处理它。我谷歌,但它不断给我如何解析JSON数据和在Rails中创建JSON。)

1 个答案:

答案 0 :(得分:0)

  

我可以使用is_a?进行检查。这是通常的做法吗?

我是怎么做到的!我认为更常见的情况是JSON(或其他)具有一致的设计,并且即使只有一个对象也在数组中。