Pular para o conteúdo principal

MySQL JSON_VALID() Function

A função `JSON_VALID()` do MySQL verifica se um documento JSON é válido. Ele retorna `1` se o JSON for válido e `0` se não for.

Uso

A função `JSON_VALID()` é usada para validar documentos JSON armazenados em um banco de dados, garantindo que eles sigam a formatação JSON adequada. É particularmente útil para verificações de integridade de dados antes de realizar operações em campos JSON. Observe que `JSON_VALID()` verifica apenas a validade sintática e não avalia a correção semântica, como erros lógicos no conteúdo JSON.

JSON_VALID(json_doc)

Nessa sintaxe, `json_doc` é o documento JSON que você deseja validar.

Exemplos

1. Validação básica

SELECT JSON_VALID('{"name": "John", "age": 30}');

Este exemplo verifica se a cadeia de caracteres JSON é válida e retorna `1`, pois o JSON está formatado corretamente.

2. Verificação de JSON inválido

SELECT JSON_VALID('{"name": "John, "age": 30}');

Aqui, a função retorna `0` porque a cadeia JSON é inválida devido à falta de uma aspa após `"John"`.

3. Validação em uma tabela

SELECT id, data, JSON_VALID(data) AS is_valid
FROM json_table;

Neste exemplo, os dados JSON de cada linha na `json_table` são validados, com os resultados exibidos em uma nova coluna chamada `is_valid`.

Dicas e práticas recomendadas

  • Valide antes de armazenar. Sempre use `JSON_VALID()` para verificar os dados JSON antes de inserir ou atualizar para garantir a integridade dos dados.
  • Use com declarações condicionais. Combine `JSON_VALID()` com cláusulas `WHERE` para filtrar registros JSON inválidos durante a recuperação de dados.
  • Otimize o tratamento de dados. Valide regularmente os campos JSON para evitar problemas nos aplicativos que dependem de dados JSON. Tenha em mente as implicações de desempenho ao validar documentos JSON grandes.
  • Identificação de erros. Embora `JSON_VALID()` retorne apenas um booleano, use-o em conjunto com o registro de erros para identificar e corrigir entradas JSON inválidas.
  • Nota de compatibilidade. O `JSON_VALID()` foi introduzido no MySQL 5.7.8. Certifique-se de que sua versão seja compatível com essa função se você estiver trabalhando em versões mais antigas do MySQL.