SQL ISJSON()函数

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的字符串以及下面提到的查询,来获取输出。

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 |
+------------------------------------+

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程