
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

Se comentários são permitidos, por que uma vírgula final dá erro, se chaves precisam de aspas, por que 9007199254740993 muda — doze conclusões, cada uma conferida contra a RFC 8259.
Iniciante~12 min de leituraAtualizado em 2026-10-30

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

Por que um arquivo JSON de dezenas de MB não abre, quanto custa uma clonagem profunda, como prevenir prototype pollution e por onde entra o XSS — dez conclusões de primeiros socorros organizadas por sintoma.
Intermediário~13 min de leituraAtualizado em 2026-10-30

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

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

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 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

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

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

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

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 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

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 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

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

`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

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

`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

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

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

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

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

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` 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