【问题标题】:Converting array/hash to string and converting that string back to array/hash in ruby将数组/哈希转换为字符串并将该字符串转换回 ruby​​ 中的数组/哈希
【发布时间】:2016-06-03 11:24:09
【问题描述】:

我有这个数组可以说,

array = [{'key' => 0},1]

所以现在array[0]['key'] 的值是0。 当我将它转换为这样的字符串时:

array.to_s

现在数组不是数组,它是一个字符串,如下所示:

"[{'key' => 0},1]"

如果我现在做array[0],它会输出[

我想将它转换回数组,以便我可以再次使用array[0]['key']

完整代码:

array = [{'key' => 0},1]
array = array.to_s
puts array[0]['key'] #Should output 0 but it does not output anything

问题是我已经在数据库中保存了类似的东西,所以现在我需要使用这些东西,所以唯一的方法是解析保存的字符串(实际上是一个数组)。

【问题讨论】:

标签: ruby-on-rails arrays ruby


【解决方案1】:
string = "[{'key' => 0},1]"
array = eval string
array[0]['key']  # => 0

【讨论】:

  • 在这种情况下使用 eval 是一种不好的做法。
  • 我明白了,谢谢您的警告,请您详细说明一下吗?
  • 你可以阅读this问题
  • @Ilya 好吧,我只需要更正我的数据库,所以我猜它很好。我不会永久使用它。
猜你喜欢
  • 2014-07-01
  • 2014-08-22
  • 1970-01-01
  • 2011-01-27
  • 2010-11-05
  • 2012-07-05
  • 2013-11-20
  • 2015-04-02
  • 1970-01-01
相关资源
最近更新 更多