Skip to main content
CheckTown
Conversores

Conversor JSON5 para JSON: limpe arquivos de configuracao

Publicado 5 min de leitura
Neste artigo

O que e JSON5?

JSON5 e um superconjunto de JSON que adiciona funcionalidades inspiradas na sintaxe ECMAScript 5.1. Foi criado para tornar o JSON mais amigavel para arquivos de configuracao e outros casos onde pessoas escrevem e leem JSON manualmente. Todo documento JSON valido tambem e JSON5 valido, mas JSON5 adiciona comentarios, virgulas finais, chaves sem aspas e outras conveniencias.

A especificacao JSON5 foi finalizada em 2018 e e amplamente adotada nas ferramentas JavaScript. Ferramentas de build como Babel, Next.js e Webpack aceitam arquivos de configuracao JSON5. Converter JSON5 para JSON padrao e necessario ao interoperar com sistemas que so entendem JSON estrito, como APIs, bancos de dados e a maioria das linguagens de programacao.

Funcionalidades do JSON5 explicadas

JSON5 adiciona varias extensoes de sintaxe que tornam os arquivos de configuracao mais faceis de escrever e manter.

  • Comentarios — comentarios de linha unica (//) e multilinha (/* */) sao permitidos, tornando os arquivos de configuracao autodocumentados
  • Virgulas finais — arrays e objetos podem ter uma virgula apos o ultimo item, reduzindo o ruido nos diffs
  • Chaves sem aspas — chaves de objetos que sao identificadores ECMAScript validos nao precisam de aspas
  • Numeros hexadecimais — valores numericos podem ser escritos como 0xFF, util para codigos de cor na configuracao
  • Strings multilinha — valores de string podem abranger multiplas linhas usando continuacao com barra invertida
  • Valores numericos especiais — Infinity, -Infinity e NaN sao literais numericos validos em JSON5

Experimente gratuitamente — sem cadastro

Converter JSON5 para JSON →

Onde o JSON5 e usado

JSON5 e usado principalmente nas ferramentas do ecossistema JavaScript onde arquivos de configuracao sao escritos e mantidos por desenvolvedores.

  • Babel — arquivos .babelrc e babel.config.json5 suportam sintaxe JSON5 para configuracao de build com comentarios
  • TypeScript — tsconfig.json suporta funcionalidades JSON5 como comentarios e virgulas finais (tecnicamente JSONC)
  • Chrome DevTools — perfis de limitacao de rede e outras configuracoes usam formato JSON5
  • Next.js — arquivos de configuracao aceitam JSON5 para configuracao amigavel com documentacao inline

Perguntas frequentes

Os navegadores podem analisar JSON5 nativamente?

Nao. Os navegadores so suportam JSON padrao via JSON.parse(). Para analisar JSON5 em um navegador ou aplicacao Node.js, voce precisa do pacote npm json5. Ferramentas de build que suportam JSON5 lidam com a analise internamente durante sua etapa de build.

Qual e a diferenca entre JSON5 e JSONC?

JSONC (JSON com comentarios) so adiciona suporte a comentarios ao JSON. JSON5 e um superconjunto mais amplo que adiciona comentarios, virgulas finais, chaves sem aspas, numeros hexadecimais, strings multilinha e valores numericos especiais. O tsconfig.json do TypeScript e settings.json do VS Code usam JSONC, enquanto Babel e outras ferramentas usam JSON5 completo.

JSON5 e o mesmo que YAML?

Nao. JSON5 permanece proximo da sintaxe JSON com pequenas adicoes ergonomicas. YAML e um formato completamente diferente com estrutura baseada em espacos em branco, ancoras e muitas mais funcionalidades. JSON5 e mais facil de converter para JSON porque e um superconjunto estrito. A conversao de YAML para JSON pode ter perdas porque YAML suporta tipos de dados que JSON nao tem.

Ferramentas relacionadas