SQL - ISJSON() 函数



内置的 SQL ISJSON() 函数用于检查字符串的 JSON(JavaScript 对象表示法)语法有效性。JSON 是一种在应用程序之间交换数据的简单格式。

ISJSON 函数接受一个字符串参数作为输入,并返回一个位值,指示该字符串是否为 JSON 格式。如果提供的字符串是有效的 JSON,则该函数返回 1;否则,它返回 0。

语法

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

ISJSON ( expression [, json_type_constraint] )

参数

此函数仅接受两个参数。下面描述了这两个参数:

  • expression − 要测试其 JSON 有效性的字符串表达式。

  • json_type_constraint − 指定要检查的输入中的 JSON 类型。

示例

在以下示例中,我们将通过使用以下查询传递有效的 JSON 来检查输出:

SELECT ISJSON('{"car": "RX100"}') AS Result;

输出

当我们执行上述查询时,将获得如下输出:

+------------------------------------+
|                              Result|
+------------------------------------+
|                                  1 |
+------------------------------------+

示例

让我们考虑另一种情况,我们传递有效的输入并使用以下查询检查输出:

SELECT ISJSON('true', VALUE) AS Result;

输出

当我们执行上述查询时,将获得如下输出:

+------------------------------------+
|                              Result|
+------------------------------------+
|                                  1 |
+------------------------------------+

示例

让我们看看另一个示例,我们将通过使用以下查询在声明字符串时检查有效的 JSON:

DECLARE @text Varchar(245) = '[{"Id":0,"Name":"TP"}]'
   IF ISJSON ( @text ) = 1
      PRINT 'Valid JSON'

输出

当我们执行上述查询时,将获得如下输出:

Valid JSON

示例

在以下示例中,我们将通过使用以下查询检查字符串不包含有效 JSON 时的输出:

SELECT ISJSON('car: RX100') AS Result;

输出

执行上述查询后,将显示如下输出:

+------------------------------------+
|                              Result|
+------------------------------------+
|                                  0 |
+------------------------------------+

示例

让我们考虑另一个示例,我们将通过使用以下查询传递无效的 JSON 来检查输出:

SELECT ISJSON('test', VALUE) AS Result;

输出

执行上述查询后,将显示如下输出:

+------------------------------------+
|                              Result|
+------------------------------------+
|                                  0 |
+------------------------------------+

示例

考虑以下示例,我们将向函数传递 NULL 并通过使用以下查询检查输出:

SELECT ISJSON(NULL) AS Result;

输出

执行上述查询后,将显示如下输出:

+-------------------+
|            Result |
+-------------------+
|         NULL      |
+-------------------+

示例

让我们看看以下示例,我们将使用基本的条件语句并根据包含 JSON 或不包含 JSON 的字符串检索输出,查询如下:

DECLARE @work varchar(255);
SET @work = '{"car": RX100}';
IF (ISJSON(@work) > 0)
   SELECT 'Valid JSON' AS 'Result';
ELSE
   SELECT 'Invalid JSON' AS 'Result';

输出

以上查询的输出如下所示:

+------------------------------------+
|                              Result|
+------------------------------------+
|                       Invalid Json |
+------------------------------------+
sql-json-functions.htm
广告