📋

FAQ do Formatador e validador JSON

Q: O que é um formatador de JSON?

A: O que é um formatador de JSON?

Um formatador de JSON é uma ferramenta que recebe dados JSON brutos, minificados ou mal formatados e os reformata com indentação, quebras de linha e espaçamento adequados para torná-los legíveis por humanos. A maioria dos formatadores de JSON também inclui validação, realce de sintaxe, detecção de erros e, às vezes, recursos adicionais como ordenação de chaves, minificação e navegação em árvore. Nosso formatador de JSON online gratuito combina formatação e validação em uma única ferramenta, oferecendo saída limpa e instantânea com relatórios de erro detalhados.

Q: Por que meu JSON é inválido?

A: Por que meu JSON é inválido?

O JSON é inválido quando viola as regras estritas da especificação JSON. As causas mais comuns incluem:

  • Vírgulas finais após o último item de um objeto ou array
  • Aspas duplas ausentes em chaves de objetos ou valores de string
  • Aspas simples usadas em vez de aspas duplas (aspas simples não são válidas em JSON)
  • Caracteres especiais não escapados, como barras invertidas ou aspas não escapadas dentro de strings
  • Valores inválidos como undefined, NaN ou Infinity (que não possuem equivalente em JSON)
  • Chaves ou colchetes desbalanceados, onde {/} ou [/] não estão devidamente pareados

Use um validador de JSON para identificar a localização exata e a natureza dos erros de sintaxe. A maioria dos validadores informa a linha, a coluna e uma mensagem de erro descritiva para o primeiro problema encontrado.

Q: Qual é a diferença entre JSON e objetos JavaScript?

A: Qual é a diferença entre JSON e objetos JavaScript?

Embora a sintaxe do JSON seja derivada da sintaxe de literais de objetos JavaScript, eles não são a mesma coisa. As principais diferenças incluem:

  1. As chaves devem estar entre aspas duplas -- o JSON exige {"key": "value"}, enquanto o JavaScript permite {key: "value"} (sem aspas) e {'key': 'value'} (com aspas simples).
  2. Valores de string devem usar aspas duplas -- o JSON só permite aspas duplas para strings. O JavaScript aceita tanto aspas simples quanto duplas.
  3. Sem vírgulas finais -- o JSON proíbe vírgulas finais após o último item. O JavaScript as permite.
  4. Tipos de dados limitados -- o JSON suporta apenas string, número, booleano, null, objeto e array. Objetos JavaScript podem conter funções, undefined, Date, Map, Set e outros tipos especiais.
  5. Sem comentários -- o JSON não suporta comentários. Objetos JavaScript em código-fonte podem ter comentários.

Isso significa que você não pode simplesmente escrever um objeto JavaScript e chamá-lo de JSON -- ele deve ser serializado com JSON.stringify() ou escrito de acordo com as regras estritas do JSON.

Q: O JSON pode ter comentários?

A: O JSON pode ter comentários?

Não, a especificação oficial do JSON (RFC 8259) não suporta comentários. O JSON foi projetado como um formato mínimo de intercâmbio de dados, independente de linguagem, e os comentários foram intencionalmente excluídos para manter os analisadores simples e consistentes entre as linguagens.

Se você precisar de comentários, tem algumas opções:

  • JSONC (JSON com Comentários) -- Usado pelo VS Code e outras ferramentas para arquivos de configuração. O JSONC permite comentários de linha com // e comentários de bloco com /* */.
  • YAML ou TOML -- Formatos alternativos de configuração que suportam comentários nativamente.
  • Metadados baseados em convenção -- Use uma chave como "_comment" ou "//" em seus objetos JSON para armazenar notas legíveis por humanos. Observe que isso adiciona dados ao seu payload.
  • Remova os comentários antes do parsing -- Use uma etapa de pré-processamento para remover os comentários antes de passar o JSON para um analisador estrito.

Q: Como valido JSON online?

Q: Como valido JSON online?

A: Como valido JSON online?

Validar JSON online é simples:

  1. Copie seus dados JSON
  2. Cole-os em uma ferramenta de validação de JSON
  3. Clique no botão de validar ou formatar
  4. A ferramenta informará se o JSON é válido ou exibirá um erro com a localização exata e a descrição do problema

Um bom validador de JSON deve:

  • Validar a sintaxe de acordo com a especificação oficial do JSON (RFC 8259)
  • Mostrar o número da linha e da coluna dos erros
  • Fornecer uma mensagem de erro descritiva explicando o que deu errado
  • Opcionalmente, formatar e embelezar o JSON ao mesmo tempo
  • Realçar a sintaxe com código de cores para diferentes tipos de dados

Para dados grandes ou sensíveis, muitos validadores online processam tudo no lado do cliente, no seu navegador, o que significa que seus dados nunca saem da sua máquina.

Q: O que significa JSON minificado?

A: O que significa JSON minificado?

JSON minificado é o JSON com todo o espaço em branco desnecessário removido -- espaços, tabulações, quebras de linha e indentação são eliminados. O resultado é um texto compacto em uma única linha (ou pouquíssimas linhas):

{"users":[{"id":1,"name":"Alice","roles":["admin"]}],"total":1}

O JSON minificado é usado em produção por vários motivos:

  • Tamanho de arquivo menor -- pode reduzir o tamanho do payload em 30-50% ou mais
  • Transferência de rede mais rápida -- menos dados para transmitir significa menor latência
  • Custos de largura de banda reduzidos -- especialmente importante para APIs de alto tráfego e aplicativos móveis

A desvantagem é que o JSON minificado é essencialmente ilegível para humanos. Use uma ferramenta de impressão bonita de JSON para reformatar o JSON minificado em uma estrutura legível para depuração ou inspeção.

Q: Como faço para imprimir JSON de forma bonita na linha de comando?

A: Como faço para imprimir JSON de forma bonita na linha de comando?

Várias ferramentas de linha de comando podem imprimir JSON de forma bonita:

Com jq (o mais popular, instale separadamente):

cat file.json | jq .

Com Python (integrado na maioria dos sistemas):

python -m json.tool file.json

Com Node.js:

node -e "const d = require('./data.json'); console.log(JSON.stringify(d, null, 2));"

Com curl (imprimindo uma resposta de API de forma bonita):

curl https://api.example.com/data | jq .

A ferramenta jq é recomendada por sua saída colorida, capacidades de consulta e tratamento robusto de erros.

Q: O que é JSON Schema?

A: O que é JSON Schema?

JSON Schema é um vocabulário que permite anotar e validar documentos JSON. Ele define a estrutura, os tipos de dados e as restrições que um documento JSON deve satisfazer. Pense nele como um contrato ou especificação para seus dados JSON.

Principais capacidades do JSON Schema:

  • Validação de tipo -- especifica se um valor deve ser string, número, booleano, array, objeto ou null
  • Campos obrigatórios -- marca certas propriedades como obrigatórias
  • Restrições de valor -- define valores mínimo/máximo, padrões de string (regex) e valores permitidos (enums)
  • Validação de array -- controla o tamanho do array, os tipos de itens e a exclusividade
  • Validação aninhada -- define esquemas para objetos e arrays aninhados
  • Validação condicional -- aplica regras diferentes com base nos valores de outros campos

Exemplo de JSON Schema:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": ["name", "email"],
  "properties": {
    "name": { "type": "string", "minLength": 1 },
    "email": { "type": "string", "format": "email" },
    "age": { "type": "integer", "minimum": 0, "maximum": 150 }
  }
}

O JSON Schema é comumente usado para validar corpos de requisição de APIs, arquivos de configuração e contratos de intercâmbio de dados entre serviços.

FAQ do Formatador e validador JSON - CoolTool