【发布时间】:2022-01-10 16:09:11
【问题描述】:
我有一个 Ruby 哈希数组,我正在尝试对其进行迭代,以便我可以按键解析值。
forms = {"forms":[{"id":123,"name":"John","created_at":"2021-11-23T21:41:17.000Z"},{"id":456,"name":"Joe","created_at":"2021-11-21T05:17:44.000Z"}]}
forms.each do |form|
puts form ## {:id=>123, :name=>"John", :created_at=>"2021-11-23T21:41:17.000Z"}
puts form["id"]
end
这会产生以下错误:
main.rb:4:in `[]': no implicit conversion of String into Integer (TypeError)
我承认我是一个大的 Ruby 菜鸟,但无法弄清楚这一点。我也试过puts form[:id] 和puts form[":id"] 无济于事。
注意:我无法控制分配给forms 变量的哈希数组。这是我从外部 API 调用返回的结果。
【问题讨论】:
-
puts form ## {:id=>123,这不是输出的。输出为[:forms, [{:id=>123, ...。