O segundo parametro de JSON.stringify que muita gente ignora

2025-04-01

JSON.stringify(obj) nao e tudo: replacer controla quais chaves saem e space define indentacao para logs, mocks e armazenamento.

replacer como array = lista branca

Ao passar ['id', 'name'], so essas chaves entram na serializacao no nivel correspondente.

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

replacer como funcao

Voce pode retornar undefined para omitir, esconder senhas ou customizar datas.

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

space para legibilidade

O terceiro argumento aceita 2 ou '\t' para JSON legivel; sem ele, saida compacta.

toJSON

Objetos podem definir toJSON; Date ja serializa para string ISO por padrao.