"[{file_property:2,tenant_id_:-1,history_type:00,suffix:txt,dir_path:\\enterprise\\few,update_time:2022-04-27 19:09:54,file_type:2,can_delete:1,id:203,full_path:\\enterprise\\few\\新建文本文档.txt,if_upload:1,creator:1,create_time:2021-11-18 02:44:05,file_name:新建文本文档.txt,if_root:0,dir_id:200,deleted:0,size:0}]"
想要的效果:
[{file_property:2,tenant_id_:-1,history_type:00,suffix:txt,dir_path:\\enterprise\\few,update_time:2022-04-27 19:09:54,file_type:2,can_delete:1,id:203,full_path:\\enterprise\\few\\新建文本文档.txt,if_upload:1,creator:1,create_time:2021-11-18 02:44:05,file_name:新建文本文档.txt,if_root:0,dir_id:200,deleted:0,size:0}]
const mData = '[{file_property:2,tenant_id_:-1,history_type:00,suffix:txt,dir_path:\\enterprise\\few,update_time:2022-04-27 19:09:54,file_type:2,can_delete:1,id:203,full_path:\\enterprise\\few\\新建文本文档.txt,if_upload:1,creator:1,create_time:2021-11-18 02:44:05,file_name:新建文本文档.txt,if_root:0,dir_id:200,deleted:0,size:0}]'
function parseObject(str) {
const mObject = {}
Array.from(mData.matchAll(/(\w.*?):(.*?)[,|}]/g)).forEach(item => mObject[item[1]] = item[2])
return [mObject]
}
console.log(parseObject(mData))
简单好理解,请采纳,谢谢
用eval()函数
str = "[{file_property:2,tenant_id_:-1,history_type:00,suffix:txt,dir_path:\enterprise\few,update_time:2022-04-27 19:09:54,file_type:2,can_delete:1,id:203,full_path:\enterprise\few\新建文本文档.txt,if_upload:1,creator:1,create_time:2021-11-18 02:44:05,file_name:新建文本文档.txt,if_root:0,dir_id:200,deleted:0,size:0}]";
arr = eval(str);
你得先把列表里面的字符串语法写清楚,你想要的效果里的语法都是错的,字符串要用引号,而且还要注意转义符。
let str = "[{file_property:2,tenant_id_:-1,history_type:00,suffix:txt,dir_path:\\enterprise\\few,update_time:2022-04-27 19:09:54,file_type:2,can_delete:1,id:203,full_path:\\enterprise\\few\\新建文本文档.txt,if_upload:1,creator:1,create_time:2021-11-18 02:44:05,file_name:新建文本文档.txt,if_root:0,dir_id:200,deleted:0,size:0}]"
let str1 = str.slice(2,str.length-2)
str1 = str1.split(',')
let newArr = [],obj = {}
for(let i=0;i<str1.length;i++){
let newS = str1[i].split(':')
obj[newS[0]]= newS[1]
}
newArr.push(obj)
console.log(newArr)