# Validador JSON Schema

Valida dados JSON contra um JSON Schema para verificar estrutura e tipos de dados

> Página canônica: https://elysiatools.com/pt/tools/json-schema-validator

- **Categoria:** Validation

- **Palavras-chave:** json, schema, validador, validação, estrutura, dados, formato

## Visão geral

# Validador JSON Schema

## Visão Geral

JSON Schema Validator é uma ferramenta poderosa para validar dados JSON contra esquemas predefinidos. Garante que seus dados JSON estejam em conformidade com estruturas esperadas, tipos de dados e restrições.

## Recursos

### Palavras-chave JSON Schema suportadas

- **type**: Validar tipo de dados (string, number, integer, boolean, array, object, null)
- **properties**: Definir esquemas de propriedades de objeto
- **required**: Especificar propriedades de objeto obrigatórias
- **additionalProperties**: Controlar se propriedades adicionais são permitidas
- **items**: Definir esquemas de itens de array (esquema único ou validação de tupla)
- **minItems / maxItems**: Definir restrições de comprimento de array
- **uniqueItems**: Exige que todos os itens do array sejam únicos
- **enum**: Restringe valores a um conjunto específico
- **const**: Exige um valor constante exato
- **minimum / maximum**: Define restrições de intervalo numérico
- **exclusiveMinimum / exclusiveMaximum**: Limites numéricos exclusivos
- **multipleOf**: Exige que valores sejam múltiplos de um número
- **minLength / maxLength**: Define restrições de comprimento de string
- **pattern**: Valida strings contra padrões regex
- **format**: Valida formatos integrados (email, uri, etc.)
- **allOf**: Dados devem corresponder a todos os subesquemas
- **anyOf**: Dados devem corresponder a pelo menos um subesquema
- **oneOf**: Dados devem corresponder exatamente a um subesquema
- **$ref**: Referenciar outro esquema (suporte básico)

## Exemplo de Uso

### Validação Básica de Objeto

**Dados JSON:**
```json
{
  "nome": "João",
  "idade": 30,
  "email": "joao@exemplo.com"
}
```

**JSON Schema:**
```json
{
  "type": "object",
  "properties": {
    "nome": { "type": "string", "minLength": 1 },
    "idade": { "type": "integer", "minimum": 0, "maximum": 150 },
    "email": { "type": "string", "format": "email" }
  },
  "required": ["nome", "idade"]
}
```

## Versões JSON Schema Suportadas

- draft-04
- draft-06
- draft-07
- 2019-09
- 2020-12

## Entradas

- **Dados JSON** (textarea): Digite dados JSON para validar (ex: {"name": "João", "age": 30})...
- **JSON Schema** (textarea): Digite JSON Schema (ex: {"type": "object", "properties": {...}})...

## Quando usar

- Ao desenvolver APIs e precisar garantir que as requisições e respostas JSON sigam um formato estrito.
- Durante a depuração de arquivos de configuração JSON para identificar propriedades ausentes ou tipos de dados incorretos.
- Ao criar ou testar novos esquemas JSON para verificar se as regras de validação estão funcionando como esperado.

## Como funciona

- Insira os dados JSON que você deseja validar no campo 'Dados JSON'.
- Insira o JSON Schema correspondente com as regras de validação no campo 'JSON Schema'.
- A ferramenta analisa a estrutura e os tipos de dados em tempo real, comparando-os com as regras do esquema fornecido.
- O validador exibe instantaneamente se o JSON é válido ou aponta os erros específicos de validação encontrados.

## Casos de uso

- Validação de payloads de requisições HTTP em testes de integração de APIs REST.
- Verificação de arquivos de configuração de sistemas para evitar erros de inicialização por tipos incorretos.
- Garantia de qualidade de dados cadastrais enviados por usuários antes do processamento no banco de dados.

## Perguntas frequentes

### Quais versões do JSON Schema são suportadas?

A ferramenta suporta as versões draft-04, draft-06, draft-07, 2019-09 e 2020-12.

### Como o validador aponta erros de propriedades obrigatórias?

Ele identifica quais chaves definidas na lista 'required' do esquema estão ausentes nos dados JSON fornecidos.

### Posso validar formatos específicos como e-mails ou URIs?

Sim, a ferramenta suporta a validação de formatos integrados usando a palavra-chave 'format' do JSON Schema.

### O validador suporta expressões regulares?

Sim, você pode usar a palavra-chave 'pattern' para validar strings contra padrões regex específicos.

### O que acontece se eu definir 'additionalProperties' como false?

O validador acusará erro se os dados JSON contiverem propriedades que não foram explicitamente declaradas no esquema.

## Ferramentas relacionadas

- [ID Card Validator](https://elysiatools.com/pt/tools/id-card-validator): Validate and analyze ID card numbers from various countries with detailed breakdown (JSON output)
- [Conversor BSON](https://elysiatools.com/pt/tools/bson-converter): Codifica e decodifica dados para/de formato BSON (Binary JSON)
- [CSON para JSON](https://elysiatools.com/pt/tools/cson-to-json): Converte dados CSON (CoffeeScript Object Notation) para formato JSON
- [Removedor de Caracteres BOM](https://elysiatools.com/pt/tools/data-bom-remover): Remover caracteres BOM (Byte Order Mark) de conteúdo de texto e arquivos. Perfeito para limpar arquivos de texto com problemas de codificação.
- [EDN para JSON](https://elysiatools.com/pt/tools/edn-to-json): Converte dados EDN (Extensible Data Notation) para formato JSON
- [GraphQL para JSON](https://elysiatools.com/pt/tools/graphql-to-json): Converte consultas ou respostas GraphQL para formato JSON
- [Formatador JSON](https://elysiatools.com/pt/tools/json-formatter): Formata e valida dados JSON
- [JSON para CSON](https://elysiatools.com/pt/tools/json-to-cson): Converte dados JSON para formato CSON (CoffeeScript Object Notation)

## Exemplos

- [Exemplos de JSON](https://elysiatools.com/pt/samples/json): Exemplos de formato JSON (JavaScript Object Notation) de estruturas simples a complexas
- [Amostras JSON de Terraform Plan](https://elysiatools.com/pt/samples/terraform-plan-json-samples): Arquivos Terraform plan JSON para visualizacao de dependencias e revisao de mudancas, no estilo terraform show -json
- [Exemplos JSON de Chat](https://elysiatools.com/pt/samples/chat-transcript-json): Exemplos JSON para transcricoes de chat multirrole
- [Exemplos JSON de Texto Rico](https://elysiatools.com/pt/samples/rich-media-json): Exemplos JSON para editores de texto rico (TipTap, Quill, Slate)

## Conteúdo relacionado

- [Definição de contratos de API, validação de schemas e testes de mudanças](https://elysiatools.com/pt/hubs/api-contract-testing): Defina um contrato de API, valide schemas e payloads capturados, encontre riscos de compatibilidade e registre a aceitação.
- [Ferramentas de validação de JSON Schema e contratos de API](https://elysiatools.com/pt/hubs/json-validate): Compare validação de JSON Schema, checagem de resposta OpenAPI, mutation testing, stress testing e detecção de mudanças incompatíveis em um único hub para revisão de contratos de API.
- [Ferramentas de utilidade, inspecao e transformacao JSON](https://elysiatools.com/pt/hubs/json-utility): Formate, inspecione, compare, mescle, transforme, valide, analise e marque JSON para fluxos de API e dados.
