JSON_VALID
説明
JSON_VALID関数は、入力が有効なJSON形式かどうかを検証するために使用されます。この関数はString型またはJSON型の入力を受け取り、JSON形式を検証します。
構文
JSON_VALID(<str>)
JSON_VALID(<json>)
パラメータ
<str>: String型、検証対象のJSON形式文字列<json>: JSON型、検証対象のJSON値
戻り値
1: 入力が有効なJSON形式の場合0: 入力が有効なJSON形式でない場合NULL: 入力パラメータがNULLの場合
注意事項
JSON型パラメータのサポートは、JSON列を渡す際の暗黙的な型変換(JSONからStringへ)で発生する可能性のある問題を回避するためのものです。通常、JSON型列に格納されたデータは有効なJSONデータであるため、JSON型パラメータに対してJSON_VALIDを呼び出すと通常は1が返されます。
エイリアス
- JSONB_VALID
例
-
有効なJSON文字列を検証する
SELECT json_valid('{"k1":"v31","k2":300}');+-------------------------------------+
| json_valid('{"k1":"v31","k2":300}') |
+-------------------------------------+
| 1 |
+-------------------------------------+ -
無効なJSON文字列を検証する
SELECT json_valid('invalid json');+----------------------------+
| json_valid('invalid json') |
+----------------------------+
| 0 |
+----------------------------+ -
NULLパラメータを検証する
SELECT json_valid(NULL);+------------------+
| json_valid(NULL) |
+------------------+
| NULL |
+------------------+ -
JSONタイプパラメータを検証する
SELECT json_valid(cast('{"k1":"v31","k2":300}' as json));+----------------------------------------------------+
| json_valid(cast('{"k1":"v31","k2":300}' as json)) |
+----------------------------------------------------+
| 1 |
+----------------------------------------------------+