Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2016 (13.x) en latere versies
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics SQL Analytics-eindpunt
in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL Database in Microsoft Fabric SQL Database in Microsoft Fabric
De ISJSON syntaxis test of een tekenreeks geldige JSON bevat.
Transact-SQL syntaxis-conventies
Syntax
ISJSON ( expression [, json_type_constraint] )
Arguments
expression
De tekenreeks die moet worden getest.
json_type_constraint
Hiermee geeft u het JSON-type op om de invoer in te checken. Geldige waarden zijnVALUE, ARRAY, of OBJECTSCALAR. Geïntroduceerd in SQL Server 2022 (16.x).
Note
Het argument json_type_constraint wordt niet ondersteund in toegewezen Azure Synapse Analytics-pools
Retourwaarde
Retourneert 1 als de tekenreeks geldige JSON bevat; anders wordt geretourneerd 0. Retourneert NULL als expressie null is.
Als de instructie json_type_constraint weglaat, test de functie of de invoer een geldig JSON-object of een geldige matrix is en retourneert 1anders0.
Als de json_type_constraint is opgegeven, controleert de functie als volgt op het JSON-type:
| Value | Description |
|---|---|
VALUE |
Hiermee wordt getest op een geldige JSON-waarde. Dit kan een JSON-object, matrix, getal, tekenreeks of een van de drie letterlijke waarden zijn (onwaar, waar, null) |
ARRAY |
Tests voor een geldige JSON-matrix |
OBJECT |
Tests voor een geldig JSON-object |
SCALAR |
Tests voor een geldige JSON-scalaire waarde : getal of tekenreeks |
De SCALAR waarde test voor een JSON-document dat alleen een JSON-scalairwaarde bevat op het hoogste niveau. IETF RFC 8259 staat elke JSON-waarde toe op het hoogste niveau, dus gebruik VALUE het om te testen op een IETF RFC 8259-conforme JSON-document. IETF RFC 4627 staat alleen een JSON-object of array toe op het hoogste niveau.
Retourneert geen fouten.
Remarks
ISJSON controleert niet de uniekheid van sleutels op hetzelfde niveau.
Examples
Voorbeeld 1
In het volgende voorbeeld wordt een instructieblok voorwaardelijk uitgevoerd als de parameterwaarde @param geldige JSON bevat.
DECLARE @param <data type>
SET @param = <value>
IF (ISJSON(@param) > 0)
BEGIN
-- Do something with the valid JSON value of @param.
END
Voorbeeld 2
In het volgende voorbeeld worden rijen geretourneerd waarin de kolom json_col geldige JSON bevat.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1
Voorbeeld 3
In het volgende voorbeeld worden rijen geretourneerd waarin de kolom json_col geldige JSON SCALAR-waarde op het hoogste niveau bevat.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1
Voorbeeld 4
In het volgende voorbeeld wordt 1 geretourneerd omdat de invoer een geldige JSON-waarde is, waar.
SELECT ISJSON('true', VALUE)
Voorbeeld 5
In het volgende voorbeeld wordt 0 geretourneerd omdat de invoer een ongeldige JSON-waarde is.
SELECT ISJSON('test string', VALUE)
Voorbeeld 6
In het volgende voorbeeld wordt 1 geretourneerd omdat de invoer een geldigE JSON-scalaire waarde is volgens RFC 8259.
SELECT ISJSON('"test string"', SCALAR)
Verwante inhoud
- JSON-gegevens in SQL Server