Skip to content
Latchkey

O Que É JSON Schema? Validando JSON Explicado

JSON Schema é um vocabulário para descrever a estrutura permitida de um documento JSON para que ele possa ser validado automaticamente.

JSON Schema é JSON que descreve outro JSON. Ele permite declarar quais campos são obrigatórios, de que tipos eles devem ser, e quais valores são permitidos, para que um validador possa checar um documento contra as regras. Como YAML é um superset de JSON, os mesmos schemas alimentam o autocomplete e a validação do editor que você tem em arquivos de workflow.

O que JSON Schema é

Um JSON Schema é ele próprio um documento JSON que define restrições: propriedades obrigatórias, tipos permitidos, intervalos de valores, enumerações e formas de objeto aninhado. Você entrega o schema e um documento a um validador, e ele te diz se o documento está em conformidade e exatamente onde não está.

Por que schemas importam

Schemas transformam "eu acho que essa config está certa" em uma garantia verificável por máquina. Eles pegam erros de digitação em nomes de campo, valores obrigatórios faltando e tipos errados antes que uma ferramenta sequer tente usar o arquivo. Eles também documentam a forma esperada de maneira precisa e executável.

Autocomplete e validação no editor

Editores usam JSON Schemas para alimentar autocomplete e sublinhados de erro inline. A razão pela qual seu editor conhece as chaves válidas em um workflow do GitHub Actions ou em um package.json é que um schema publicado descreve esses arquivos, e o editor valida enquanto você digita.

JSON Schema no CI

No CI você pode adicionar um step de validação que checa arquivos de config contra seus schemas antes de fazer trabalho real - falhando rápido em um workflow, manifesto ou config de app malformado. Isso é um seguro barato contra uma config ruim escapar e quebrar um stage posterior e mais lento.

Schema validation as a CI gate
# Validate a config file against a schema in CI
steps:
  - run: npm install -g ajv-cli
  - run: ajv validate -s schema.json -d config.json

Nota da Latchkey

Steps de validação de schema são apenas execuções de CLI e baixam pequenos pacotes npm ou pip. Na Latchkey, essas dependências têm cache entre execuções, então um gate rápido de "validar config" permanece rápido a cada push.

Principais conclusões

  • JSON Schema é JSON que descreve a estrutura, os tipos e os valores permitidos de um documento.
  • Ele alimenta o autocomplete e a validação do editor para arquivos como workflows e package.json.
  • Um step de validação de schema no CI pega config malformada cedo, antes que stages mais lentos rodem.

Guias relacionados