`[]': 无法将字符串转换为整数 (TypeError)

`[]': can't convert String into Integer (TypeError)

我有一个数组:

sheets # => [{"id"=>3, "subject"=>"www", "body"=>"www", "target_groups"=>"www", 0=>3, 1=>"www", 2=>"www", 3=>"www"}]

我正在尝试调用此数组中的某个元素。我尝试了以下方法:

puts sheets[2] # => nil
puts sheets["subject"] # =>  `[]': can't convert String into Integer (TypeError)
puts sheets["subject.to_i"] # => `[]': can't convert String into Integer (TypeError) also.

不胜感激。

散列对象在数组中。

您需要先获取哈希对象(sheets[0]),然后您可以使用key获取您想要的项目:

sheets = [{"id"=>3, "subject"=>"www", "body"=>"www",
          "target_groups"=>"www", 0=>3, 1=>"www", 2=>"www", 3=>"www"}]
sheets[0]["subject"]
# => "www"