當年話下
2022-07-15 09:44:09
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
提交
取消