我想转换此字符串:
'[
['Row1 of first array', 'Row2 of first array'],
['Row1 of 2nd array', 'Row2 of 2nd array']
]'
进入一个包含一个维度和两个项目的三个数组的数组。
我的预期输出是一个包含2个元素的数组:
每个数组里面都有两个元素。
在Jquery中有没有进行这种转换?
答案 0 :(得分:3)
这不是一个有效的字符串 - 您在单引号内嵌套单引号。但是,如果您使用内部的双引号将字符串转换为一个字符串:
str = '[ ["Row1 of first array", "Row2 of first array"], ["Row1 of 2nd array", "Row2 of 2nd array"] ]'
然后您可以简单地将其解析为JSON对象:
arr = $.parseJSON(str); // returns a two-dimensional array
这比使用eval
要安全得多,只有当你完全知道字符串里面的内容时才会这样做,即使这样,它也是懒惰开发者的标志。使用parseJSON
时,您知道在完成任务时获得对象或数组 - 使用eval
时,可能会发生任何事情。
答案 1 :(得分:-3)
我猜eval会起作用:
var str = eval("[['Row1 of first array', 'Row2 of first array'],['Row1 of 2nd array', 'Row2 of 2nd array']]");
console.log(str);