JS之Map序列化与反序列化
以下是 Map 正确序列化与反序列化的完整代码示例,包含核心转换逻辑和验证步骤:
// 1. 定义一个待序列化的 Map(包含不同类型的键值) const myMap = new Map([ ['name', '豆包'], [123, '数字键'], [true, '布尔值键'], [{ id: 1 }, '对象作为键'] // 注意:对象作为 Map 键时,反序列化后会变成新对象,无法完全匹配原键 ]); // 2. Map 序列化:先转为数组,再用 JSON.stringify const serialized = JSON.stringify(Array.from(myMap)); console.log('序列化结果:', serialized); // 输出:[["name","豆包"],[123,"数字键"],[true,"布尔值键"],[{"id":1},"对象作为键"]] // 3. Map 反序列化:先 JSON.parse 转为数组,再用 Map 构造函数恢复 const deserializedArr = JSON.parse(serialized); const restoredMap = new Map(deserializedArr); console.log('反序列化后的值:', restoredMap.get('name')); // 输出:豆包 console.log('反序列化后的值:', restoredMap.get(123)); // 输出:数字键

浙公网安备 33010602011771号