Como salvar um arquivo JSON: 4 formas simples

JSON (JavaScript Object Notation) é um formato de texto simples. Isso significa que qualquer arquivo de texto com extensão .json e conteúdo válido já é um arquivo JSON funcional.

A forma de salvar depende de onde o JSON está:

SituaçãoMétodo mais rápido
Tenho o JSON em texto (copiado, digitado)Editor de texto ou VS Code
O JSON aparece no navegador (URL de API)Ctrl+S ou extensão do navegador
Preciso gerar o download de um JSON no siteJavaScript (Blob)
Estou trabalhando com Pythonjson.dump()

Forma 1: salvar com editor de texto (mais rápido)

Se você já tem o conteúdo JSON em mãos — copiado de alguma fonte ou digitado manualmente — a forma mais direta é abrir qualquer editor de texto e salvar com a extensão correta.

No VS Code:

  1. Abra um novo arquivo (Ctrl+N)
  2. Cole o conteúdo JSON
  3. Salve (Ctrl+S) e na caixa de diálogo dê o nome com a extensão .json (ex: dados.json)
  4. O VS Code detecta automaticamente o formato JSON e aplica realce de sintaxe

No Bloco de Notas (Windows):

  1. Abra o Bloco de Notas
  2. Cole o conteúdo JSON
  3. Vá em Arquivo > Salvar Como
  4. No campo “Nome do arquivo”, coloque o nome com .json (ex: dados.json)
  5. Em “Tipo”, selecione Todos os arquivos (*.*) — se deixar como .txt, o arquivo vai ser salvo como dados.json.txt, o que é um problema

Como verificar se está correto: Abra o arquivo salvo no VS Code ou em um editor online como o JSON Formatter. Se o conteúdo aparecer formatado e sem erros, o arquivo está correto.

Forma 2: salvar JSON direto do navegador

Quando você acessa uma URL que retorna JSON (como uma API ou endpoint de dados), o navegador exibe o conteúdo bruto ou formatado dependendo de extensões instaladas.

Salvando o JSON exibido no navegador:

Pressione Ctrl+S (Windows) ou Cmd+S (Mac). O navegador vai salvar o conteúdo como .json automaticamente se a resposta tiver o Content-Type correto, ou como .txt se não reconhecer o formato.

Usando a aba Rede do DevTools para salvar respostas de API:

  1. Pressione F12 e vá na aba Rede (Network)
  2. Recarregue a página
  3. Localize a requisição que retorna o JSON (clique em “Fetch/XHR” para filtrar)
  4. Clique na requisição > aba Resposta (Response)
  5. Clique com o botão direito no conteúdo > Copiar resposta ou Salvar resposta como

Essa técnica é especialmente útil quando o JSON não é visível diretamente na URL mas é carregado em segundo plano pela página. Para entender melhor como localizar respostas JSON em páginas web, veja como abrir arquivos JSON.

Forma 3: gerar download de JSON via JavaScript

Desenvolvedor codificando HTML, CSS e JavaScript para como clonar landing page.

Quando você precisa criar um arquivo JSON para o usuário baixar a partir de dados no navegador, a técnica usa Blob e um link temporário:

function salvarJSON(dados, nomeArquivo) {
  const json = JSON.stringify(dados, null, 2); // 2 = indentação de 2 espaços
  const blob = new Blob([json], { type: 'application/json' });
  const url = URL.createObjectURL(blob);
  
  const link = document.createElement('a');
  link.href = url;
  link.download = nomeArquivo || 'dados.json';
  link.click();
  
  URL.revokeObjectURL(url); // libera a memória
}

// Uso:
const meusDados = {
  nome: "João Silva",
  idade: 32,
  cidade: "São Paulo"
};

salvarJSON(meusDados, 'usuario.json');

O que cada parte faz:

  • JSON.stringify(dados, null, 2) converte o objeto JavaScript para string JSON formatada
  • Blob cria um arquivo temporário na memória do navegador
  • URL.createObjectURL gera um URL temporário para o arquivo
  • link.click() simula o clique no link para iniciar o download

Para detalhes sobre todos os parâmetros do JSON.stringify, a documentação MDN é a referência mais completa.

Forma 4: salvar JSON com Python

Para scripts que precisam salvar dados em JSON, o módulo json do Python é a abordagem padrão:

import json

dados = {
    "nome": "Ana Costa",
    "idade": 28,
    "tecnologias": ["Python", "JavaScript", "SQL"]
}

# Salvar em arquivo
with open('dados.json', 'w', encoding='utf-8') as arquivo:
    json.dump(dados, arquivo, ensure_ascii=False, indent=2)

print("Arquivo salvo com sucesso.")

Parâmetros importantes:

  • ensure_ascii=False — preserva caracteres especiais e acentos do português
  • indent=2 — formata o JSON com indentação de 2 espaços (mais legível)

Para apenas converter o objeto em string sem salvar em arquivo:

json_string = json.dumps(dados, ensure_ascii=False, indent=2)
print(json_string)

Como validar o JSON antes de usar

Um JSON com erro de sintaxe vai causar falha silenciosa em aplicações. Antes de salvar ou distribuir, valide o conteúdo:

  • JSONLint: cola o JSON e verifica erros com mensagem clara sobre onde está o problema
  • VS Code: valida automaticamente arquivos .json e sublinha erros em vermelho
  • Terminal: no Node.js, JSON.parse(seu_json_string) lança exceção se houver erro

Erros mais comuns que invalidam o JSON:

  • Aspas simples em vez de aspas duplas ('chave' não é válido, precisa ser "chave")
  • Vírgula no último item de objeto ou array ({"a":1,} é inválido)
  • Valores undefined — JSON não aceita undefined, apenas null
  • Strings sem fechar as aspas

Se você trabalha com JSON no contexto do WordPress (para templates do Elementor, por exemplo), veja o processo completo de como importar JSON no WordPress.

Perguntas frequentes

Qual extensão usar para salvar um arquivo JSON?

Sempre .json. O arquivo precisa ter exatamente essa extensão para ser reconhecido corretamente por navegadores, editores e aplicações. Evite .txt.json.txt ou sem extensão.

Posso salvar JSON com acentos e caracteres especiais?

Sim. O JSON suporta UTF-8 por padrão. Em Python, use ensure_ascii=False no json.dump para preservar acentos. Em JavaScript, o JSON.stringify já preserva automaticamente.

Como salvar um JSON muito grande sem travar o navegador?

Para arquivos muito grandes (acima de 50MB), a técnica com Blob pode consumir muita memória. A alternativa é usar streams com a API Streams do JavaScript ou processar os dados em chunks menores antes de salvar.

Diferença entre JSON.stringify e JSON.dump?

JSON.stringify é JavaScript, usado no navegador ou Node.js. json.dump é Python. Ambos convertem estruturas de dados para o formato JSON em texto, mas pertencem a linguagens diferentes.

Como salvar apenas parte de um JSON grande?

Em JavaScript: JSON.stringify(dados.chave_especifica) extrai e serializa apenas aquela parte. Em Python: json.dump(dados['chave_especifica'], arquivo) faz o mesmo.

Melhorar velocidade de carregamento site com código otimizado
Picture of Sara Lima
Sara Lima

Criadora do Meu Site Web e trabalha com criação de sites, WordPress e Elementor há mais de 8 anos. Jornalista por formação, une escrita e tecnologia para criar conteúdo prático sobre desenvolvimento web acessível a qualquer pessoa.

Últimos Posts