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数值类型。

示例

合并两个或多个JSON数组

sql
SQL> SELECT TO_CHAR(JSON_MERGE('[1, 2]', '[2, 3]', '[3, 4, 5]'));

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

合并两个或多个JSON对象

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

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

合并纯值

sql
SQL> SELECT TO_CHAR(JSON_MERGE('1', 'true', '"hello"', 'null'));

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

合并数组和对象

sql
SQL> SELECT TO_CHAR(JSON_MERGE('{"x": 1}', '[1, 2]'));

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