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