sql >> データベース >  >> RDS >> SQLite

SQLite JSON_ARRAY()

    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();

    結果:

    []

    1. メモリ効率の高い組み込みのSqlAlchemyイテレータ/ジェネレータ?

    2. ::PostgreSQLでは何をしますか?

    3. MySQLで複数の列を検索する方法は?

    4. 可変サイズの変数リストを使用したMySQLプリペアドステートメント