Oracle JSON() 函数使用指南

Oracle JSON() 是一个内置函数,它解析文本 JSON 输入(标量、对象或数组),并将其作为 JSON 类型的实例返回。

Oracle JSON() 语法

这里是 Oracle JSON() 函数的语法:

JSON(expr)

参数

expr

必需的。expr 中的输入必须是类型为 VARCHAR2CLOBBLOB 的语法上有效的文本表示形式。它也可以是 SQL 字符串文字。SQL NULL 输入值将导致 SQL NULL 类型实例的 JSON。

返回值

Oracle JSON() 函数根据输入的参数返回一个 JSON 类型的实例。

输入值必须通过 IS JSON 测试。未通过 IS JSON 测试的输入值将因语法错误而被拒绝。

为了过滤掉重复的输入值,在使用 JSON 构造函数之前,您必须对文本 JSON 输入运行 IS JSON (WITH UNIQUE KEYS) 检查。

只有当数据库初始化参数 compatible 至少为 20 时,才能使用构造函数 JSON

如果任意一个参数为 NULLJSON() 将返回 JSON 值 null

Oracle JSON() 示例

这里有几个展示了 Oracle JSON() 函数用法的示例。

实例 1

SELECT
    JSON('123'),
    JSON('"a"'),
    JSON('true'),
    JSON('false')
FROM dual;

输出:

JSON('123')    JSON('"A"')    JSON('TRUE')    JSON('FALSE')
______________ ______________ _______________ ________________
123            "a"            true            false

实例 2

SELECT
    JSON('[1,2,3]'),
    JSON('{"x":1, "y":2}')
FROM dual;

输出:

JSON('[1,2,3]')    JSON('{"X":1,"Y":2}')
__________________ ________________________
[1,2,3]            {"x":1,"y":2}

NULL 参数

如果任意一个参数为 NULLJSON() 将返回 JSON 值 null

SELECT
    JSON(NULL),
    JSON('NULL')
FROM dual;

输出:

JSON(NULL)    JSON('NULL')
_____________ _______________
null          null

在本示例中,我们使用 SET NULL 'NULL'; 语句将 NULL 值显示为 'NULL' 字符串。

结论

Oracle JSON() 是一个内置函数,它解析文本 JSON 输入(标量、对象或数组),并将其作为 JSON 类型的实例返回。