Skip to content

JSON_MERGE

功能描述

合并JSON文本。

语法格式

JSON_MERGE( json_doc, json_doc[, json_doc]... )

参数说明

json_doc:两个以上JSON文本,JSON类型或JSON String类型。

说明:

  • 如果任何参数为NULL则返回NULL。
  • 两个数组合并为一个数组。
  • 两个对象合并为一个对象。
  • 标量值将被包装为数组并合并为数组。
  • 数组、对象合并,将对象合并到数组。
  • json_doc不为有效JSON文本将抛出错误。

函数返回类型

JSON数值类型

示例

sql
SQL> SELECT TO_CHAR(JSON_MERGE('{"a": 1, "b": 2}', '{"a": 3}'));

EXPR1 | 
------------------------------------------------------------------------------
{"a": [1, 3], "b": 2}|

-- 合并两个或多个 JSON 数组
SQL> SELECT TO_CHAR(JSON_MERGE('[1, 2]', '[2, 3]', '[3, 4, 5]'));

EXPR1 | 
------------------------------------------------------------------------------
[1, 2, 2, 3, 3, 4, 5]|

-- 合并两个或多个 JSON 对象
SQL> SELECT TO_CHAR(JSON_MERGE('{"x": 1}', '{"x": 2, "y": 3}'));

EXPR1 | 
------------------------------------------------------------------------------
{"x": [1, 2], "y": 3}|

-- 合并纯值
SQL> SELECT TO_CHAR(JSON_MERGE('1', 'true', '"hello"', 'null'));

EXPR1 | 
------------------------------------------------------------------------------
[1, true, "hello", null]|

-- 合并数组和对象
SQL> SELECT TO_CHAR(JSON_MERGE('{"x": 1}', '[1, 2]'));

EXPR1 | 
------------------------------------------------------------------------------
[{"x": 1}, 1, 2]|