var data = "39,'2020-04-24','2020-04-24','(2,3,4,5)','(2,3,4)','(36,43,79)',-1,50000,0";我希望字符串采用类似数组的形式[39,"2020-04-24","2020-04-24","(2,3,4,5)","(2,3,4)","(36,43,79)", -1 , 50000 , 0 ];
2 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
你可以用正则表达式做一些有趣的事情,但最简单的事情是把它变成 JSON.parse 可以处理的格式。理想情况下,无论生成什么,它都会使其成为正确的 JSON,但如果无法更改,您可以将其更改为这样。
var data = "39,'2020-04-24','2020-04-24','(2,3,4,5)','(2,3,4)','(36,43,79)',-1,50000,0";
var result = JSON.parse('[' + data.replace(/'/g, '"') + ']')
console.log(result)
在某些极端情况下这会失败,但如果数据总是看起来像您的示例,它将起作用。
JSON.parse 之前的老派方法是使用 new Function (),但由于它正在评估代码,因此存在安全问题。
var data = "39,'2020-04-24','2020-04-24','(2,3,4,5)','(2,3,4)','(36,43,79)',-1,50000,0";
var result = (new Function('return [' + data + ']')())
console.log(result)
添加回答
举报
0/150
提交
取消