Skip to content

JSON_DEPTH

功能描述

返回JSON文档最大深度。

语法格式

JSON_DEPTH( json_doc )

参数说明

json_doc:JSON目标文档,JSON类型或JSON String类型。

说明:

空数组、空对象或标量值的深度为1。包含深度为1元素的非空数组,或仅包含深度为1成员的分控对象,深度为2。否则,json文档深度大于2。

函数返回类型

INTEGER数值类型

示例

sql
-- 空数组、空对象或标量值
SQL> SELECT TO_CHAR(JSON_DEPTH('{}')), TO_CHAR(JSON_DEPTH('[]')), TO_CHAR(JSON_DEPTH('1'));

EXPR1 | EXPR2 | EXPR3 | 
------------------------------------------------------------------------------
1| 1| 1|

-- 包含深度为 1 的元素的数组,所有成员的值的深度为 1 的对象
SQL> SELECT TO_CHAR(JSON_DEPTH('[1, 2]')), TO_CHAR(JSON_DEPTH('{"x": 1}'));

EXPR1 | EXPR2 | 
------------------------------------------------------------------------------
2| 2|

-- 包含深度超过 1 的元素的数组,所有成员的值的深度超过 1 的对象
SELECT TO_CHAR(JSON_DEPTH('[1, [2, 3]]')),  TO_CHAR(JSON_DEPTH('{"x": {"y": 1}}')),
TO_CHAR(JSON_DEPTH('{"x": {"y": {"z": 1}}}'));

EXPR1 | EXPR2 | EXPR3 | 
------------------------------------------------------------------------------
3| 3| 4|