説明
この関数は、JSONドキュメントを検証するために使用されます。JSONドキュメントがJSON Schema仕様に準拠している場合は1を返し、準拠していない場合は0を返します。列制約に使用できます。
構文
JSON_SCHEMA_VALID(schema, document)
説明
パラメータ
schemaはJSON Schemaを指定するために使用され、Schemaは有効なJSONオブジェクトでなければなりません。JSON Schemaでは、
required属性を使用して必須のプロパティを強制することができます。JSON Schemaでは
id、$schema、description、type属性をサポートしていますが、これらの属性の提供は必須ではありません。
パラメータ
documentは、検証対象のJSONドキュメントを指定するために使用され、このJSONドキュメントは有効なJSONドキュメントでなければなりません。パラメータのいずれか一方が有効なJSONではない場合、この関数はエラーを発生させます。
例
以下の例では、'{"type": "string"}' でJSON Schemaを定義しており、このSchemaは有効なJSONデータが文字列型であるべきであることを示しています。'"JSON_doc"' は検証対象のJSONドキュメントです。
注意
このステートメントでは、文字列 JSON_doc が二重引用符(")で囲まれており、これはそれが単なる通常の文字列ではなく、有効なJSON文字列であることを示しています。JSONでは、文字列値は必ず二重引用符で囲まれなければなりません。
obclient [infotest]> SELECT JSON_SCHEMA_VALID('{"type": "string"}', '"JSON_doc"');
結果は次のとおりです:
+-------------------------------------------------------+
| JSON_SCHEMA_VALID('{"type": "string"}', '"JSON_doc"') |
+-------------------------------------------------------+
| 1 |
+-------------------------------------------------------+
1 row in set
この例では、JSONドキュメントが有効なJSON文字列であり、Schemaで規定された文字列型に準拠しているため、関数は検証に合格したことを示す 1 を返します。