【问题标题】:Dealing with single value hash or multiple value array in JSON data处理 JSON 数据中的单值哈希或多值数组
【发布时间】: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


【解决方案1】:

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

我就是这样做的!我认为更常见的情况是 JSON(或其他)具有一致的设计,并且即使只有一个对象也可以将对象放在一个数组中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-17
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 2014-10-27
    相关资源
    最近更新 更多