Como adicionar dados em arquivo JSON com Node.js
Neste artigo você vai aprender a como adicionar dados em arquivo JSON com Node, vamos utilizar uma abordagem muito simples!

Fala programador(a), beleza? Bora aprender mais sobre Node.js!
Adicionar dados a um arquivo JSON com Node.js é uma tarefa simples e direta.
O formato JSON (JavaScript Object Notation) é amplamente utilizado para armazenar e trocar dados, pois é facilmente lido e escrito por máquinas e humanos.
A seguir, apresentamos uma abordagem passo a passo para adicionar dados a um arquivo JSON no Node.js.
Importe o módulo ‘fs’ (File System) do Node.js: Para ler e escrever arquivos em Node.js, precisamos importar o módulo fs. Adicione o seguinte código no início do seu script:
const fs = require('fs');
Carregue o arquivo JSON: Para carregar o arquivo JSON, basta usar a função fs.readFile() e fornecer o caminho para o arquivo.
Você também precisa especificar o encoding (padrão é UTF-8).
fs.readFile('data.json', 'utf-8', (err, data) => {
if (err) throw err;
let json = JSON.parse(data);
// ...
});
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Adicione dados ao objeto JSON: Agora que você já carregou o arquivo JSON em um objeto, pode adicionar novos dados a ele.
Por exemplo, você pode adicionar uma nova propriedade ao objeto:
json.newProperty = "value";
Salve o arquivo JSON: Finalmente, você precisa salvar as alterações no arquivo JSON.
Para fazer isso, basta usar a função fs.writeFile() e fornecer o caminho para o arquivo, o conteúdo atualizado e o encoding (padrão é UTF-8).
fs.writeFile('data.json', JSON.stringify(json), 'utf-8', (err) => {
if (err) throw err;
console.log('The file has been saved!');
});
Em resumo, a adição de dados a um arquivo JSON com Node.js é simples e direta, desde que você siga os passos descritos acima.
Com o módulo fs, é possível ler, escrever e manipular arquivos de forma fácil e intuitiva.
Quer aprender mais sobre Node? Confira o vídeo abaixo:
Conclusão
E chegamos ao fim do artigo sobre como adicionar dados em arquivo JSON com Node!
Em conclusão, o artigo apresentou uma abordagem passo a passo para adicionar dados a um arquivo JSON com Node.js.
O uso do módulo fs é fundamental para ler e escrever arquivos em Node.js, e o formato JSON é amplamente utilizado devido à sua facilidade de leitura e escrita tanto por máquinas quanto por humanos.
A adição de dados a um arquivo JSON é simples, basta seguir os passos descritos no artigo: importar o módulo fs, carregar o arquivo JSON, adicionar novos dados ao objeto e salvar as alterações no arquivo.
Com estas informações, você pode começar a manipular arquivos JSON com Node.js de forma eficiente e fácil.
Está buscando a sua primeira vaga como Programador? Confira o nosso treinamento completo clicando aqui.
Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!
Há também o nosso canal no YouTube, com muito conteúdo gratuito de qualidade!
Adicionando um item dentro de um array no JSON:
Até aqui a gente adicionou uma propriedade nova no objeto
Mas e quando o teu JSON é uma lista e tu quer só empurrar mais um item pra dentro? Bem comum, tipo uma lista de usuários
A lógica é a mesma: carrega, mexe, salva
A diferença é que agora tu usa o push() no array
fs.readFile(‘data.json’, ‘utf-8’, (err, data) => { if (err) throw err; let json = JSON.parse(data);
json.push({ nome: ‘Matheus’, ativo: true });
fs.writeFile(‘data.json’, JSON.stringify(json), ‘utf-8’, (err) => { if (err) throw err; console.log(‘Item adicionado!’); }); });
Se liga que aqui o json já é o array inteiro, por isso o push cai direto nele
Simples né? =)
Deixando o JSON legível (indentação):
Repara que no JSON.stringify(json) o arquivo sai tudo grudado numa linha só
Funciona, mas é horrível de ler quando tu abre o arquivo
Pra resolver isso o stringify aceita mais dois parâmetros
JSON.stringify(json, null, 2)
O null é o replacer (deixa pra lá por enquanto) e o 2 é a quantidade de espaços da indentação
Aí o teu data.json sai bonitão, formatado, fácil de bater o olho e entender
Detalhe pequeno, mas que faz diferença no dia a dia
E a versão síncrona? Existe também:
O fs.readFile e o fs.writeFile são assíncronos, rodam via callback
Mas às vezes tu quer o código mais direto, lendo de cima pra baixo, sem callback aninhado
Pra isso existem as versões síncronas: readFileSync e writeFileSync
const fs = require(‘fs’);
let json = JSON.parse(fs.readFileSync(‘data.json’, ‘utf-8’));
json.novaPropriedade = ‘valor’;
fs.writeFileSync(‘data.json’, JSON.stringify(json, null, 2), ‘utf-8’);
console.log(‘Arquivo salvo!’);
Muito mais enxuto pra script rápido
Mas tome cuidado: a versão síncrona TRAVA a execução enquanto lê e escreve
Em script pequeno, de linha de comando, tranquilo
Num servidor recebendo várias requisições ao mesmo tempo, evita, porque tu segura todo mundo na fila
Cuidado com o arquivo que ainda não existe:
Já me ferrei uma vez por causa disso
Se tu tentar ler um data.json que ainda nem foi criado, o readFile devolve erro e o script quebra
Caso este erro apareça (algo como ENOENT, no such file or directory), a solução é começar de um estado inicial
Um truque simples é checar antes:
const fs = require(‘fs’);
if (fs.existsSync(‘data.json’)) { json = JSON.parse(fs.readFileSync(‘data.json’, ‘utf-8’)); }
json.push({ nome: ‘Novo item’ });
fs.writeFileSync(‘data.json’, JSON.stringify(json, null, 2), ‘utf-8’);
Assim, se o arquivo não existe, tu parte de um array vazio e o writeFile cria ele do zero
Sem quebrar nada
Perguntas frequentes
Preciso instalar algo pra usar o módulo fs?
Não precisa
O fs é built-in do Node.js, já vem junto
Basta o require(‘fs’) e usar, sem npm install nenhum
Qual a diferença entre JSON.parse e JSON.stringify?
O parse pega o texto lido do arquivo e transforma em objeto/array que tu consegue manipular no JavaScript
O stringify faz o caminho contrário: pega o objeto e vira texto de novo, pra poder salvar no arquivo
Sempre parse na leitura, stringify na escrita
Como eu adiciono sem apagar o que já estava no arquivo?
Esse é o pulo do gato: tu SEMPRE lê o arquivo primeiro, mexe no objeto em memória e só depois salva
Se tu der writeFile direto sem ler antes, tu sobrescreve tudo e perde o conteúdo velho
Leia também
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares

As diferenças de var, let e const

Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]

ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]
