SQL JSON_OBJECT() 函数

SQL JSON_OBJECT() 函数

JSON_OBJECT() 函数用于从 SQL 表达式的结果中创建 JSON 对象。它以零个或多个表达式的结果构建一个 JSON 对象的文本。

JSON 对象包含一个键/值对。每个键在 JSON 中表示为一个字符串,值可以是任意类型。键和值之间用冒号分隔,每个键/值对之间用逗号分隔。

花括号 { 表示 JSON 对象。

语法

以下是 SQL JSON_OBJECT() 函数的语法:

JSON_OBJECT ( [ <json_key_value> [,...n] ] [ json_null_clause ] )
<json_key_value> ::= json_key_name : value_expression
<json_null_clause> ::=
   NULL ON NULL
   | ABSENT ON NULL

参数

有三种类型的参数−

  • json_key_name − 它是一个字符表达式,定义了JSON键名的值。

  • value_expression − 它是一个表达式,定义了JSON键的值。

  • json_null_clause − 在value_expression为NULL时,可以用它来控制JSON_OBJECT函数的行为。当生成JSON键值时,NULL ON NULL选项将SQL NULL值转换为JSON null值。ABSENT ON NULL选项将在值为NULL时省略整个键。

返回值

返回一个有效的nvarchar(max)类型的JSON对象字符串。

示例

以下是一个返回带有两个键的JSON对象的示例−

SELECT JSON_OBJECT('name':'value', 'type':4) AS JSON_OBJECT;

输出

这将显示以下结果:

+-----------------------------+
|      JSON_OBJECT            |
+-----------------------------+
|  {"name":"value","type":4}  |
+-----------------------------+

示例

以下示例返回一个带有一个键的JSON对象,因为其中一个键的值为NULL并且指定了ABSENT ON NULL选项 –

SELECT JSON_OBJECT('name':'value', 'type':NULL ABSENT ON NULL) AS JSON_OBJECT;

输出

这将显示以下结果−

+-------------------+
| JSON_OBJECT       |
+-------------------+
| {"name":"value"}  |
+-------------------+

示例

以下是一个返回空JSON对象的示例 –

SELECT JSON_OBJECT() AS JSON_OBJECT;

输出

这将显示以下结果:

+-------------------+
| JSON_OBJECT       |
+-------------------+
|       {}          |
+-------------------+

示例

以下是一个返回具有两个键的JSON对象的示例。其中一个键包含一个JSON字符串,另一个键包含一个JSON数组-

SELECT JSON_OBJECT('name':'value', 'type':JSON_ARRAY(4, 6)) AS JSON_OBJECT;

输出

这将显示以下结果:

+-----------------------------+
|      JSON_OBJECT            |
+-----------------------------+
|{"name":"value","type":[4,6]}|
+-----------------------------+

示例

以下是一个返回包含两个键的JSON对象的示例。一个键包含一个JSON字符串,另一个键包含一个JSON对象。

SELECT JSON_OBJECT('name':'value', 'type':JSON_OBJECT('type_id':4, 'name':'t')) AS JSON_OBJECT;

输出

这将显示以下结果:

+------------------------------------------------+
|               JSON_OBJECT                      |
+------------------------------------------------+
|{"name":"value","type":{"type_id":4,"name":"t"}}|
+------------------------------------------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程