JSON序列化与反序列化:完美处理ES5和ES6函数
本文介绍一种方法,能够将包含ES5函数和ES6箭头函数的对象转换为JSON字符串,并在反序列化时完整恢复这些函数。
解决方案
我们将借助第三方库form-create
来实现这一目标。该库提供两个关键函数:
toJson(obj, space)
: 将对象转换为JSON字符串,完整保留其中的函数。parseJson(json, mode)
: 将JSON字符串解析回对象,并恢复其中的函数。示例代码
const obj = {
name: 'John',
age: 30,
greet: function () {
console.log('Hello!');
},
arrow: (val) => {
console.log('Value:', val);
}
};
const jsonString = toJson(obj);
console.log(jsonString); // 输出包含函数信息的JSON字符串
const restoredObj = parseJson(jsonString);
console.log(restoredObj); // 输出已恢复函数的对象
优势