Megosztás a következőn keresztül:


ISJSON (Transact-SQL)

A következőkre vonatkozik: Az SQL Server 2016 (13.x) és újabb verziói Az Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Analytics végpontja a Microsoft FabricWarehouse-ban a Microsoft FabricSQL Database-ben a Microsoft Fabricben

A ISJSON szintaxis azt ellenőrzi, hogy egy sztring tartalmaz-e érvényes JSON-t.

Transact-SQL szintaxis konvenciók

Syntax

ISJSON ( expression [, json_type_constraint] )  

Arguments

expression

A tesztelni kívánt sztring.

json_type_constraint

Megadja a bemenet beadásához tartozó JSON-típust. Az érvényes értékek a következőkVALUE: , ARRAYOBJECTvagy SCALAR. Bevezetés az SQL Server 2022-ben (16.x).

Note

A json_type_constraint argumentum nem támogatott a dedikált Azure Synapse Analytics-készletekben

Visszaadott érték

Visszaadja 1 , ha a sztring érvényes JSON-t tartalmaz, ellenkező esetben visszaadja 0. Null NULL ad vissza.

Ha az utasítás kihagyja a json_type_constraint, a függvény ellenőrzi, hogy a bemenet érvényes JSON-objektum vagy tömb-e, és ellenkező esetben ad vissza 10.

Ha a json_type_constraint meg van adva, a függvény az alábbiak szerint ellenőrzi a JSON-típust:

Value Description
VALUE Érvényes JSON-érték tesztelése. Ez lehet JSON-objektum, tömb, szám, sztring vagy a három literális érték (hamis, igaz, null) egyike.
ARRAY Érvényes JSON-tömb tesztelése
OBJECT Érvényes JSON-objektum tesztelése
SCALAR Érvényes JSON skalár – szám vagy sztring tesztelése

A json_type_constraint érték SKALÁRISsal tesztelhető az IETF RFC 8259-nek megfelelő JSON-dokumentum, amely csak felső szinten tartalmaz egy JSON skaláris értéket. Az olyan JSON-dokumentumok, amelyek felső szinten nem tartalmaznak JSON skaláris értéket, megfelelnek az IETF RFC 4627 szabványnak.

Nem ad vissza hibákat.

Remarks

ISJSON nem ellenőrzi a kulcsok egyediségét ugyanazon a szinten.

Examples

1. példa

Az alábbi példa feltételesen futtat egy utasításblokkot, ha a paraméter értéke @param érvényes JSON-t tartalmaz.

DECLARE @param <data type>
SET @param = <value>

IF (ISJSON(@param) > 0)  
BEGIN  
     -- Do something with the valid JSON value of @param.  
END

2. példa

Az alábbi példa olyan sorokat ad vissza, amelyekben az oszlop json_col érvényes JSON-t tartalmaz.

SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1 

3. példa

Az alábbi példa olyan sorokat ad vissza, amelyekben az oszlop json_col felső szinten érvényes JSON SKALÁRIS értéket tartalmaz.

SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1 

4. példa

Az alábbi példa 1 értéket ad vissza, mivel a bemenet érvényes JSON-érték – igaz.

SELECT ISJSON('true', VALUE)

5. példa

Az alábbi példa 0 értéket ad vissza, mivel a bemenet érvénytelen JSON-érték.

SELECT ISJSON('test string', VALUE)

6. példa

Az alábbi példa 1 értéket ad vissza, mivel a bemenet egy érvényes JSON skalár az RFC 8259 szerint.

SELECT ISJSON('"test string"', SCALAR)