Proceso de convertir un objeto o estructura de datos en un formato que pueda ser almacenado o transmitido.
Como JSON o XML. El proceso inverso es la deserialización.
// Serialización a JSON const usuario = { nombre: 'Juan', edad: 30, fecha: new Date() }; // Serializar (objeto → string) const json = JSON.stringify(usuario); // '{"nombre":"Juan","edad":30,"fecha":"2024-01-15T10:30:00.000Z"}' // Con formato legible const jsonPretty = JSON.stringify(usuario, null, 2); // Filtrar propiedades const jsonFiltrado = JSON.stringify(usuario, ['nombre', 'edad']); // '{"nombre":"Juan","edad":30}' // Transformar durante serialización const jsonTransformado = JSON.stringify(usuario, (key, value) => { if (key === 'edad') return undefined; // Omitir edad return value; }); // Deserializar (string → objeto) const objetoRecuperado = JSON.parse(json); // Cuidado con fechas (se convierten a string) // Solución: reviver function const obj = JSON.parse(json, (key, value) => { if (key === 'fecha') return new Date(value); return value; }); // Otras formas de serialización: // - MessagePack (binario, más compacto) // - Protocol Buffers (Google) // - YAML