我有一个从API,它看起来像这样的输出......(它是一个字符串)的字符串(那看起来像是一个数组)到一个数组的Ruby
[[2121212,212121,asd],[2323232,23232323,qasdasd]]
它是一个字符串 - 不是一个数组。我想将其转换为一个数组,然后提取每个阵列中的前两个元素嵌套数组中:
[2121212,212121],[2323232,23232323]
什么是做到这一点的红宝石的最佳方式?我可以使用正则表达式并提取 - 但基本上该字符串已经是一个数组,但是该类是一个字符串。
我试图
array.push(response)
但只是把字符串中的数组作为一个元素。我想什么会是不错的是to_array方法
[Ruby:将嵌套数组的字符串表示解析为数组?](http://stackoverflow.com/questions/4477127/ruby-parsing-a-string-representation-of-nested-arrays -into-an-array) – Mischa 2012-04-23 09:32:53
这不一样 - JSON和eval都不会处理没有引号的字符串。如果字符串像'asd'那么简单,我只是通过regexp为它们添加引号,然后使用JSON.parse或者eval:'eval str.gsub(/([a-zA-Z] +)/, '''\ 1“')' – 2012-04-23 09:37:59
Lukas - 对不起字符串会改变 - 它们总是在语法上相同,即[element,element,element]我可以调用.to_json方法并将其返回为[[element,元素,元素'] – 2012-04-23 09:41:18