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ção | Mé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 site | JavaScript (Blob) |
| Estou trabalhando com Python | json.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:
- Abra um novo arquivo (Ctrl+N)
- Cole o conteúdo JSON
- Salve (Ctrl+S) e na caixa de diálogo dê o nome com a extensão
.json(ex:dados.json) - O VS Code detecta automaticamente o formato JSON e aplica realce de sintaxe
No Bloco de Notas (Windows):
- Abra o Bloco de Notas
- Cole o conteúdo JSON
- Vá em Arquivo > Salvar Como
- No campo “Nome do arquivo”, coloque o nome com
.json(ex:dados.json) - Em “Tipo”, selecione Todos os arquivos (*.*) — se deixar como
.txt, o arquivo vai ser salvo comodados.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:
- Pressione F12 e vá na aba Rede (Network)
- Recarregue a página
- Localize a requisição que retorna o JSON (clique em “Fetch/XHR” para filtrar)
- Clique na requisição > aba Resposta (Response)
- 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

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 formatadaBlobcria um arquivo temporário na memória do navegadorURL.createObjectURLgera um URL temporário para o arquivo- O
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êsindent=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
.jsone 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 aceitaundefined, apenasnull - 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.














