No MariaDB,
JSON_VALID()
é uma função interna que permite verificar se um valor é ou não um documento JSON válido. Você passa o valor como um argumento e
JSON_VALID()
retorna 1
se for um documento JSON válido e 0
se não. Sintaxe
A sintaxe fica assim:
JSON_VALID(value)
Exemplo
Aqui está um exemplo para demonstrar.
SELECT JSON_VALID('{ "product" : "Cup" }');
Resultado:
+-------------------------------------+ | JSON_VALID('{ "product" : "Cup" }') | +-------------------------------------+ | 1 | +-------------------------------------+
Nesse caso, o argumento é um documento JSON válido.
Veja o que acontece se removermos parte do documento:
SELECT JSON_VALID('{ "product" }');
Resultado:
+-----------------------------+ | JSON_VALID('{ "product" }') | +-----------------------------+ | 0 | +-----------------------------+
Agora não é um documento JSON válido.
Matrizes
As matrizes são consideradas um documento JSON válido.
Exemplo:
SELECT JSON_VALID('[ 1, 2, 3 ]');
Resultado:
+---------------------------+ | JSON_VALID('[ 1, 2, 3 ]') | +---------------------------+ | 1 | +---------------------------+
Argumentos nulos
Se o argumento for
NULL
, o resultado é NULL
:SELECT JSON_VALID(null);
Resultado:
+------------------+ | JSON_VALID(null) | +------------------+ | NULL | +------------------+
Contagem de parâmetros incorreta
Chamando
JSON_VALID()
sem um argumento resulta em um erro:SELECT JSON_VALID();
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_VALID'
É o mesmo quando você fornece muitos argumentos:
SELECT JSON_VALID('a', 'b');
Resultado:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_VALID'