【问题标题】:Parse JSON with Ruby用 Ruby 解析 JSON
【发布时间】:2013-08-08 02:36:25
【问题描述】:

我有两个 JSON 返回。

一个我可以很好解析的

{"login"=>"foo", "id"=>bar,

@foobar_collect["login"]

但是我遇到了问题

{"items"=>[{"user_id"=>foo, "user_type"=>"bar", 

我试试

@foobar_collect["items"]["user_id"]

它给了我一个错误no implicit conversion of String into Integer

我做错了什么?

【问题讨论】:

  • 以下任一答案是否解决了您的问题?

标签: ruby-on-rails ruby json ruby-on-rails-3


【解决方案1】:

试试

@foobar_collect['items'][0]['user_id']

你的代码不起作用的原因是@foobar_collect['items']是一个数组。

【讨论】:

  • ""和''有区别吗,.first和[0]有什么区别
  • 不,没有区别,我只在字符串中包含 ruby​​ 代码(如 "asd#{1 + 1}asd")时使用双引号。 [0].first 也是一样的,但我更喜欢 [0],因为它更容易阅读并且更容易获取数组的其他元素。
【解决方案2】:
@foobar_collect["items"].first["user_id"]

【讨论】:

  • ""和''有区别吗,.first和[0]有什么区别
  • @Elementmindfreak 在这种情况下,.first[0] 之间没有有意义的区别。双引号字符串是内插的,单引号字符串不是。
  • @Elementmindfreak 解释@DaveNewton 的答案:插值意味着您可以使用#{...} 评估双引号字符串中的表达式。例如:name = 'Pete'; puts "Hello, #{name}" # => 'Hello, Pete!'
猜你喜欢
  • 2012-06-29
  • 1970-01-01
  • 1970-01-01
  • 2014-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-11
相关资源
最近更新 更多