关于js中含有函数的对象与String字符串的相互转换
2024年7月29日小于 1 分钟
关于js中含有函数的对象与String字符串的相互转换
1.含有函数的对象转为JSON
利用JSON.stringify将对象转为字符串
//params为传入的对象
JSON.stringify(params,function(key,val){
if (typeof val === 'function') {
return val + '';
}
return val;
})
2.JSON字符串转换为对象
利用JSON.parse
function parseJson (str: string) {
return JSON.parse(str, (k, v) => {
if (v.indexOf && v.indexOf('function') > -1) {
return eval("(function(){return " + v + " })()")
}
return v;
})
}
这里利用eval函数将字符串转为可执行函数
关于eval函数,现代已经很少使用了,但是存在确实是有道理的。
