以下は、SQLiteで使用できるJSON関数とJSON演算子の完全なリストです。
スカラー関数
関数 | 説明 |
json() | (JSON文字列)引数の縮小バージョンを実際のJSONとして返します。基本的に、JSONのように見える生のテキストを実際のJSONに変換します。 |
json_array() | 引数に基づいて整形式のJSON配列を返します。 |
json_array_length() | 指定されたJSON配列の要素数を返します。 |
json_extract() | 整形式のJSONから1つ以上の値を抽出して返します。 |
json_insert() | JSONドキュメントに新しい値を挿入します。 |
json_object() | 引数に基づいて整形式のJSONオブジェクトを返します。 |
json_patch() | JSONオブジェクトの要素を追加、変更、および/または削除します(RFC-7396 MergePatchアルゴリズムを実行して、特定のJSON入力に対して特定のパッチを適用します)。 |
json_remove() | JSONオブジェクトまたは配列から1つ以上の要素を削除します。 |
json_replace() | JSONドキュメントの既存の値を別の値に置き換えます。 |
json_set() | JSONドキュメントの値を挿入または置換します。 |
json_type() | 指定されたJSONの最も外側の要素のタイプを返します。 |
json_valid() | 引数が整形式のJSONであるかどうかを確認します。 |
json_quote() | 数値または文字列を対応するJSON表現に変換します。 |
集計関数
関数 | 説明 |
json_group_array() | 集計内のすべての値で構成されるJSON配列を返します。 |
json_group_object() | 集計内のすべての名前と値のペアで構成されるJSONオブジェクトを返します。 |
テーブル値関数
関数 | 説明 |
json_each() | 最初の引数として提供されたJSON値をウォークし、配列要素またはオブジェクトメンバーごとに1行で構成されるテーブルを返します。トップレベルの配列またはオブジェクトの直接の子のみをウォークします。トップレベルの要素がプリミティブ値の場合は、トップレベルの要素自体のみをウォークします。 |
json_tree() | 最初の引数として提供されたJSON値をウォークし、配列要素またはオブジェクトメンバーごとに1行で構成されるテーブルを返します。最上位の要素から始まるJSONサブ構造を再帰的にウォークスルーします。 |
JSONオペレーター
SQLiteには、JSONを操作するための次の演算子も含まれています。
オペレーター | 説明 |
-> | JSONドキュメントからサブコンポーネントを抽出し、そのサブコンポーネントのJSON表現を返します。 |
->> | JSONドキュメントからサブコンポーネントを抽出し、そのサブコンポーネントのSQL表現を返します。 |
SQLiteでのJSONサポート
SQLite 3.38.0(2022年2月22日にリリース)以降、JSON関数と演算子がSQLiteに組み込まれています。 SQLite 3.38.0より前は、-DSQLITE_ENABLE_JSON1
を使用する必要がありました。 JSONサポートを有効にするコンパイル時オプション。