MySQL JSON_DEPTH() 函数使用指南
MySQL JSON_DEPTH()
函数返回一个 JSON 文档的最大深度。
JSON_DEPTH()
语法
这里是 MySQL JSON_DEPTH()
的语法:
JSON_DEPTH(json)
参数
json
- 必需的。一个 JSON 文档。
返回值
JSON_DEPTH()
函数返回一个 JSON 文档的最大深度。JSON_DEPTH()
函数按如下规则计算 JSON 文档的深度:
- 一个空的数组、空的对象或者纯值的深度是 1。
- 一个仅包含深度为 1 的元素的数组的深度是 2。
- 一个所有成员的值的深度为 1 的对象的深度是 2。
- 除此之外的其他 JSON 文档的深度都大于 2.
如果参数为 NULL
,此函数将返回 NULL
。
如果参数不是有效的 JSON 文档,MySQL 将会给出错误。您可以使用 JSON_VALID()
验证 JSON 文档的有效性。
JSON_DEPTH()
示例
这里列出了几个常见的 JSON_DEPTH()
用法示例。
示例 1
SELECT JSON_DEPTH('[]'), JSON_DEPTH('[1, 2]'), JSON_DEPTH('[1, [2, 3]]');
+------------------+----------------------+---------------------------+
| JSON_DEPTH('[]') | JSON_DEPTH('[1, 2]') | JSON_DEPTH('[1, [2, 3]]') |
+------------------+----------------------+---------------------------+
| 1 | 2 | 3 |
+------------------+----------------------+---------------------------+
示例 2
SELECT JSON_DEPTH('{}'), JSON_DEPTH('{"x": 1}'), JSON_DEPTH('{"x": {"y": 1}}');
+------------------+------------------------+-------------------------------+
| JSON_DEPTH('{}') | JSON_DEPTH('{"x": 1}') | JSON_DEPTH('{"x": {"y": 1}}') |
+------------------+------------------------+-------------------------------+
| 1 | 2 | 3 |
+------------------+------------------------+-------------------------------+