En SQLite, json_array() La función devuelve una matriz JSON bien formada en función de sus argumentos.
La función acepta cero o más argumentos, y cada argumento se convierte en un elemento de la matriz resultante.
Sintaxis
json_array(value1,value2,...)
Donde value1, value2, ... representa los elementos de la matriz para la matriz resultante.
Ejemplo
Aquí hay un ejemplo simple para demostrarlo:
SELECT json_array( 9, 7, 12, 11 ); Resultado:
[9,7,12,11]
Agregar comillas a un número da como resultado que ese elemento de la matriz sea una cadena JSON entre comillas:
SELECT json_array( 9, '7', 12, 11 ); Resultado:
[9,"7",12,11]
Pasar objetos JSON
Pasar un argumento con TEXTO de tipo SQL da como resultado una cadena JSON entrecomillada, con cualquier etiqueta entrecomillada escapada:
SELECT json_array( '{ "a" : 1 }' ); Resultado:
["{ \"a\" : 1 }"]
Si no queremos que esto suceda, podemos usar json() función para proporcionar el valor como un documento JSON válido:
SELECT json_array( json('{ "a" : 1 }') ); Resultado:
[{"a":1}]
Otra forma de hacerlo es usar -> de SQLite operador:
SELECT json_array( '{ "a" : 1 }' -> '$' ); Resultado:
[{"a":1}]
Alternativamente, podemos usar json_object() función:
SELECT json_array( json_object( 'a', 1 ) ); Resultado:
[{"a":1}] Aquí está con algunos otros elementos de la matriz:
SELECT json_array( "Cat", json_object( 'a', 1 ), "Dog" ); Resultado:
["Cat",{"a":1},"Dog"] Pasar matrices JSON
Es algo similar al pasar matrices JSON:
SELECT json_array( '[ 9, 4, 7 ]' ); Resultado:
["[ 9, 4, 7 ]"]
En este caso, obtenemos una matriz JSON que contiene una cadena que se parece a otra matriz.
Para devolver una matriz JSON real, podemos pasar nuestro argumento a json() función:
SELECT json_array( json('[ 9, 4, 7 ]') ); Resultado:
[[9,4,7]]
También podemos usar el -> operador:
SELECT json_array( '[ 9, 4, 7 ]' -> '$' ); Resultado:
[[9,4,7]]
Alternativamente, podemos pasar los valores a otro json_array() :
SELECT json_array( json_array( 9, 4, 7 ) ); Resultado:
[[9,4,7]]
Aquí está con algunos otros elementos de la matriz:
SELECT json_array( "Cat", json_array( 9, 4, 7 ), "Dog" ); Resultado:
["Cat",[9,4,7],"Dog"]
Crear una matriz vacía
Llamando a json_array() sin pasar ningún argumento da como resultado una matriz vacía:
SELECT json_array(); Resultado:
[]