No MySQL, você pode usar o
JSON_ARRAY()
função para criar uma matriz JSON de uma lista de valores. Você fornece cada valor como um argumento separado. Cada argumento se torna um elemento separado da matriz. A função também aceita uma lista vazia (ou seja, você não fornece argumentos). Nesse caso, você obterá uma matriz vazia.
Sintaxe
A sintaxe fica assim:
JSON_ARRAY([val[, val] ...])
Os colchetes indicam um argumento opcional. Portanto, é bastante válido usar esta função sem passar nenhum argumento.
Exemplo 1 – Strings
Aqui está um exemplo de como retornar um array de uma lista de strings.
SELECT JSON_ARRAY('Hot', 'Warm', 'Cold') AS 'Result';
Resultado:
+-------------------------+ | Result | +-------------------------+ | ["Hot", "Warm", "Cold"] | +-------------------------+
Exemplo 2 – Números
A lista também pode ser números:
SELECT JSON_ARRAY(1, 2, 3) AS 'Result';
Resultado:
+-----------+ | Result | +-----------+ | [1, 2, 3] | +-----------+
Exemplo 3 – Tipos mistos
E pode ser uma mistura de strings e números:
SELECT JSON_ARRAY(1, 'Warm', 3) AS 'Result';
Resultado:
+----------------+ | Result | +----------------+ | [1, "Warm", 3] | +----------------+
Exemplo 4 – Strings vazias
Também funciona com strings vazias.
SELECT JSON_ARRAY(1, '', 3) AS 'Result';
Resultado:
+------------+ | Result | +------------+ | [1, "", 3] | +------------+
Exemplo 5 – Listas vazias
Como mencionado, não há problema em não fornecer argumentos. Fazer isso resultará em uma matriz vazia.
SELECT JSON_ARRAY() AS 'Result';
Resultado:
+--------+ | Result | +--------+ | [] | +--------+
Exemplo 5 – Valores NULOS
E sim, valores NULL também podem ser incluídos.
SELECT JSON_ARRAY(1, NULL, 3) AS 'Result';
Resultado:
+--------------+ | Result | +--------------+ | [1, null, 3] | +--------------+