SQLiteでは、json_array()
関数は、引数に基づいて整形式のJSON配列を返します。
関数は0個以上の引数を受け入れ、各引数は結果の配列の要素になります。
構文
json_array(value1,value2,...)
ここで、value1, value2, ...
結果の配列の配列要素を表します。
例
簡単な例を次に示します。
SELECT json_array( 9, 7, 12, 11 );
結果:
[9,7,12,11]
数値に引用符を追加すると、その配列要素は引用符で囲まれたJSON文字列になります:
SELECT json_array( 9, '7', 12, 11 );
結果:
[9,"7",12,11]
JSONオブジェクトの受け渡し
SQL型TEXTで引数を渡すと、引用符で囲まれたJSON文字列が生成され、引用符で囲まれたラベルはエスケープされます:
SELECT json_array( '{ "a" : 1 }' );
結果:
["{ \"a\" : 1 }"]
これを望まない場合は、json()
を使用できます 値を有効なJSONドキュメントとして提供する関数:
SELECT json_array( json('{ "a" : 1 }') );
結果:
[{"a":1}]
これを行う別の方法は、SQLiteの->
を使用することです。 演算子:
SELECT json_array( '{ "a" : 1 }' -> '$' );
結果:
[{"a":1}]
または、json_object()
を使用することもできます 機能:
SELECT json_array( json_object( 'a', 1 ) );
結果:
[{"a":1}]
ここに他のいくつかの配列要素があります:
SELECT json_array( "Cat", json_object( 'a', 1 ), "Dog" );
結果:
["Cat",{"a":1},"Dog"]
JSON配列の受け渡し
JSON配列を渡す場合も同様です:
SELECT json_array( '[ 9, 4, 7 ]' );
結果:
["[ 9, 4, 7 ]"]
この場合、別の配列に似た文字列を含むJSON配列を取得します。
実際のJSON配列を返すには、引数をjson()
に渡すことができます。 機能:
SELECT json_array( json('[ 9, 4, 7 ]') );
結果:
[[9,4,7]]
->
も使用できます 演算子:
SELECT json_array( '[ 9, 4, 7 ]' -> '$' );
結果:
[[9,4,7]]
または、値を別のjson_array()
に渡すこともできます :
SELECT json_array( json_array( 9, 4, 7 ) );
結果:
[[9,4,7]]
ここに他のいくつかの配列要素があります:
SELECT json_array( "Cat", json_array( 9, 4, 7 ), "Dog" );
結果:
["Cat",[9,4,7],"Dog"]
空のアレイを作成する
json_array()
を呼び出す 引数を渡さないと、空の配列になります:
SELECT json_array();
結果:
[]