【发布时间】:2014-04-28 02:24:54
【问题描述】:
我有一个 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。)
【问题讨论】:
-
最终目标是什么?
-
所以“options”总是有一项,而“option”可以有多项?多么可怕的 API!
-
除了
options有一个项目和option有一个或多个没有意义的事实之外,option有一个单一值的哈希然后切换到一个多个值的数组?
标签: ruby-on-rails ruby arrays json hash