直接上代码
let dat='{"p1":10,"formatter":"(val)=>{console.log(val);}"}';
let ss = JSON.parse(dat,function (key, value) {
if("formatter" == key ){
return eval( "(" + value + ")");
}
return value;
});
主要点就是JSON.parse的第二个解析参数,用来对每个解析的对象做处理,然后用eval函数解析函数对象,注意json字符串定义时候需要用括号把函数包起来,这样才能作为对象进行返回