このセクションにリストされている関数は、コンポーネント要素から JSON 値を構成します。
-
JSON_ARRAY([
val
[,val
] ...])値リスト (空の場合もある) を評価し、それらの値を含む JSON 配列を返します。
mysql> SELECT JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME()); +---------------------------------------------+ | JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME()) | +---------------------------------------------+ | [1, "abc", null, true, "11:30:24.000000"] | +---------------------------------------------+
-
JSON_OBJECT([
key
,val
[,key
,val
] ...])キーと値のペアの (空の可能性がある) リストを評価し、それらのペアを含む JSON オブジェクトを返します。 いずれかのキー名が
NULL
であるか、引数の数が奇数の場合、エラーが発生します。mysql> SELECT JSON_OBJECT('id', 87, 'name', 'carrot'); +-----------------------------------------+ | JSON_OBJECT('id', 87, 'name', 'carrot') | +-----------------------------------------+ | {"id": 87, "name": "carrot"} | +-----------------------------------------+
-
JSON_QUOTE(
string
)文字列を二重引用符で囲み、内部引用符やその他の文字をエスケープして JSON 値として引用符で囲み、結果を
utf8mb4
文字列として返します。 引数がNULL
の場合、NULL
を返します。この関数は通常、JSON ドキュメントに含める有効な JSON 文字列リテラルを生成するために使用されます。
特定の特殊文字は、表12.23「JSON_UNQUOTE() 特殊文字エスケープシーケンス」 に示されているエスケープシーケンスごとにバックスラッシュでエスケープされます。
mysql> SELECT JSON_QUOTE('null'), JSON_QUOTE('"null"'); +--------------------+----------------------+ | JSON_QUOTE('null') | JSON_QUOTE('"null"') | +--------------------+----------------------+ | "null" | "\"null\"" | +--------------------+----------------------+ mysql> SELECT JSON_QUOTE('[1, 2, 3]'); +-------------------------+ | JSON_QUOTE('[1, 2, 3]') | +-------------------------+ | "[1, 2, 3]" | +-------------------------+
CAST(
を使用して他の型の値を value
AS JSON)JSON
型にキャストすることで、JSON 値を取得することもできます。詳細は、JSON 値と非 JSON 値の間の変換 を参照してください。
JSON 値を生成する 2 つの集計関数を使用できます。 JSON_ARRAYAGG()
は結果セットを単一の JSON 配列として返し、JSON_OBJECTAGG()
は結果セットを単一の JSON オブジェクトとして返します。 詳細は、セクション12.20「集計関数」を参照してください。