MySQL JSON_TYPE() 函数使用指南
MySQL JSON_TYPE() 函数返回一个给定的 JSON 值的类型。
JSON_TYPE() 语法
这里是 MySQL JSON_TYPE() 的语法:
JSON_TYPE(json_value)
参数
json_value- 必需的。一个 JSON 值。
返回值
JSON_TYPE() 函数返回一个 utf8mb4 字符串,它代表了给定的 JSON 值的类型。JSON_TYPE() 函数将返回下面值中的一个:
OBJECT: JSON 对象ARRAY: JSON 数组BOOLEAN: JSON 布尔值NULL: JSONnull值INTEGER: MySQLTINYINT,SMALLINT,MEDIUMINT,INT和BIGINT类型的值DOUBLE: MySQLDOUBLE和FLOAT类型的值DECIMAL: MySQLDECIMAL和NUMERIC类型的值DATETIME: MySQLDATETIME和TIMESTAMP类型的值DATE: MySQLDATE类型的值TIME: MySQLTIME类型的值STRING: MySQLCHAR,VARCHAR,TEXT,ENUM和SETBLOB: MySQLBINARY,VARBINARY,BLOB和BITOPAQUE: 以上之外的类型
如果参数为 NULL,此函数将返回 NULL。
如果参数不是有效的 JSON 文档,MySQL 将会给出错误。您可以使用 JSON_VALID() 验证 JSON 文档的有效性。
JSON_TYPE() 示例
这里列出了几个常见的 JSON_TYPE() 用法示例。
示例 1
SELECT JSON_TYPE('true'), JSON_TYPE('null'), JSON_TYPE('"abc"');
+-------------------+-------------------+--------------------+
| JSON_TYPE('true') | JSON_TYPE('null') | JSON_TYPE('"abc"') |
+-------------------+-------------------+--------------------+
| BOOLEAN | NULL | STRING |
+-------------------+-------------------+--------------------+示例 2: 数字
SELECT JSON_TYPE('1'), JSON_TYPE('1.23');
+----------------+-------------------+
| JSON_TYPE('1') | JSON_TYPE('1.23') |
+----------------+-------------------+
| INTEGER | DOUBLE |
+----------------+-------------------+示例 3: 数组
SELECT JSON_TYPE('[]'), JSON_TYPE('[1, 2]');
+-----------------+---------------------+
| JSON_TYPE('[]') | JSON_TYPE('[1, 2]') |
+-----------------+---------------------+
| ARRAY | ARRAY |
+-----------------+---------------------+示例 4: 对象
SELECT JSON_TYPE('{}'), JSON_TYPE('{"x": 1}');
+-----------------+-----------------------+
| JSON_TYPE('{}') | JSON_TYPE('{"x": 1}') |
+-----------------+-----------------------+
| OBJECT | OBJECT |
+-----------------+-----------------------+