JSON Toolkit

Perguntas frequentes

Reúne as perguntas mais frequentes sobre as ferramentas deste site e sobre a especificação JSON, agrupadas por cenário, com uma resposta acionável em vez de uma conclusão vaga.

25 artigos

Artigos nesta categoria

FAQ de uso das ferramentas: dados, arquivos e exportação

Os dados são enviados, quão grande um arquivo funciona, algo fica armazenado localmente, por que o chinês vira escapes: dez perguntas que explicitam as fronteiras reais de uma ferramenta JSON online.

Iniciante~10 min de leituraAtualizado em 2026-10-30

FAQ de consulta e validação: JSONPath e Schema

Se consultas de caminho devem usar JSONPath ou Pointer, como escolher entre Patch e Merge Patch, o que o Schema consegue bloquear e como escolher uma versão de draft — tudo explicado em uma passada.

Intermediário~12 min de leituraAtualizado em 2026-10-30

FAQ de colaboração em equipe: contratos, configuração e fixtures

Estilo de nomeação, formatos de hora, semântica de null, formas de enum, formatos de configuração, organização de fixtures e conflitos de merge — doze trade-offs sobre os quais as equipes realmente discutem.

Intermediário~12 min de leituraAtualizado em 2026-10-30

JSON pode ter comentários

A RFC 8259 não tem sintaxe de comentário, então `//` e comentários de bloco fazem `JSON.parse` lançar erro. Use JSON5 ou JSONC, um campo `_comment`, um `description` de Schema ou YAML.

Iniciante~3 min de leituraAtualizado em 2026-10-30

Por que uma vírgula final quebra o JSON

Vírgulas finais são legais em literais de objeto JavaScript e fatais em JSON. Aqui está o erro exato, a gramática da RFC 8259 que o provoca e três correções que realmente funcionam.

Iniciante~3 min de leituraAtualizado em 2026-10-30

Um BOM quebra a análise JSON

Um BOM UTF-8 são três bytes invisíveis, então `JSON.parse` falha no primeiro caractere e informa linha 1 coluna 1, o que faz o arquivo parecer vazio ou truncado.

Iniciante~4 min de leituraAtualizado em 2026-10-30

NaN ou Infinity podem aparecer em JSON

JSON tem apenas literais numéricos decimais. `JSON.stringify` transforma NaN e Infinity em null sem avisar, e é por isso que "o campo numérico às vezes é null" continua aparecendo em produção.

Iniciante~3 min de leituraAtualizado em 2026-10-30

Por que inteiros grandes perdem precisão

Inteiros acima de 2^53-1 perdem precisão no JSON.parse. IDs snowflake, números de pedido e bigints de banco de dados todos esbarram nisso, então mantenha-os como strings de ponta a ponta.

Intermediário~4 min de leituraAtualizado em 2026-11-04

Por que o chinês vira \u4e2d\u6587

Um escape `\u4e2d\u6587` é Unicode legal, não falha de codificação. O mojibake real parece diferente, e distingui-los decide o que você realmente precisa corrigir.

Iniciante~3 min de leituraAtualizado em 2026-10-30

JSON vs JSON5 vs JSONC

Superconjuntos estritos em ordem: JSONC adiciona comentários; JSON5 adiciona aspas simples, chaves sem aspas, vírgulas finais e números hexadecimais. Escolher errado quebra uma API, não o seu editor.

Iniciante~4 min de leituraAtualizado em 2026-10-30

JSON ou YAML

JSON delimita com chaves e YAML com indentação: máquinas ficam com JSON, humanos editando configuração ficam com YAML. Comentários, âncoras e estrutura de múltiplos documentos não sobrevivem.

Iniciante~4 min de leituraAtualizado em 2026-10-30

JSONPath ou JSON Pointer

JSON Pointer é um endereço único que você pode armazenar como chave; JSONPath é uma linguagem de consulta. Usar o errado quebra atualizações de configuração ou reinventa um JSONPath quebrado.

Intermediário~4 min de leituraAtualizado em 2026-10-30

O que o JSON Schema realmente resolve

O Schema governa estrutura e tipos, não significado de negócio. Ele detém campos ausentes, tipos errados e enums fora da faixa, enquanto regras como valor acima de zero ficam no código.

Intermediário~4 min de leituraAtualizado em 2026-10-30

draft-07 ou 2020-12

2020-12 é o atual e adiciona `$defs`, `prefixItems` e `unevaluatedProperties`, mas muitas ferramentas ainda falam apenas draft-07. Escolha pelo que toda a sua cadeia de ferramentas suporta.

Avançado~4 min de leituraAtualizado em 2026-10-30

Gerando tipos TypeScript a partir de um Schema

`json-schema-to-typescript` e quicktype emitem um `.d.ts` em um comando, mas é um rascunho: opcionalidade, unions, additionalProperties e datas precisam de uma passada humana.

Intermediário~4 min de leituraAtualizado em 2026-10-30

Acelerando a análise de JSON grande

Otimizar na ordem errada torna inútil toda troca de biblioteca. Meça rede, análise e renderização separadamente, depois reduza análises, encolha payloads e faça streaming.

Intermediário~5 min de leituraAtualizado em 2026-10-30

O que é injeção de __proto__

`JSON.parse` trata `__proto__` como uma chave comum; o dano acontece em uma mesclagem recursiva que grava em `Object.prototype`, então todo objeto herda propriedades do atacante.

Avançado~5 min de leituraAtualizado em 2026-10-30

Como o XSS acontece através de JSON

JSON nunca executa sozinho. O XSS acontece no momento em que você o trata como HTML — concatenação de strings no servidor, innerHTML no frontend ou inclusão de JSON direto em uma tag script.

Intermediário~4 min de leituraAtualizado em 2026-10-30

Um formatador JSON online envia meus dados

Você não precisa ler uma política de privacidade para descobrir. Abra o painel de rede, teste a página offline e atualize para ver se algo persistiu. Dois minutos, três verificações, nenhuma confiança necessária.

Iniciante~3 min de leituraAtualizado em 2026-10-30

Quão grande um arquivo JSON um navegador consegue tratar

Não há limite fixo; a restrição é o orçamento de memória da sua aba. Um arquivo de 20MB normalmente vira 60–100MB após a análise, e o DOM destacado pode dobrar isso de novo.

Iniciante~3 min de leituraAtualizado em 2026-10-30

Que estrutura uma resposta de API deve usar

Objetos crus são limpos até você precisar de metadados; envelopes completos são seguros mas verbosos. Para a maioria dos projetos use status HTTP para resultados e um envelope estável para dados.

Intermediário~4 min de leituraAtualizado em 2026-10-30

Que formato usar para timestamps em JSON

Números de época e strings ISO têm cada um seus trade-offs, mas misturá-los é o que realmente quebra as coisas. Use ISO 8601 com offset, armazene UTC, renderize no fuso do usuário.

Iniciante~3 min de leituraAtualizado em 2026-10-30

null ou omitir o campo

`null` diz que o campo existe sem valor; omitir diz que o campo não existe. Corpos PATCH, mesclagem de configuração e preenchimento de formulário são onde a diferença morde.

Intermediário~3 min de leituraAtualizado em 2026-10-30