El segundo parametro de JSON.stringify que muchos ignoran

2025-04-01

No todo es JSON.stringify(obj): replacer controla que claves salen y space define la indentacion. Muy util para logs, mocks y almacenamiento.

replacer como arreglo = lista blanca

Si pasas ['id', 'name'], solo esas claves se serializan en el nivel correspondiente.

JSON.stringify(user, ["id", "name"]);

replacer como funcion

Puedes devolver undefined para omitir, ocultar passwords o personalizar conversion de fechas.

JSON.stringify(obj, (k, v) => k === "password" ? undefined : v);

space para legibilidad

El tercer argumento acepta 2 o '\t' para pretty JSON; sin space queda compacto.

toJSON

Los objetos pueden exponer toJSON y Date ya usa ISO por defecto al serializar.