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 Preview
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
Return value
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 0anders1.
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 json_type_constraint waarde SCALAR kan worden gebruikt om te testen op IETF RFC 8259 conforme JSON-document dat alleen een JSON scalaire waarde op het hoogste niveau bevat. Een JSON-document dat geen JSON scalaire waarde op het hoogste niveau bevat, voldoet aan IETF RFC 4627.
Retourneert geen fouten.
Remarks
ISJSON controleert niet de uniekheid van sleutels op hetzelfde niveau.
Examples
Example 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
Example 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
Example 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
Example 4
In het volgende voorbeeld wordt 1 geretourneerd omdat de invoer een geldige JSON-waarde is, waar.
SELECT ISJSON('true', VALUE)
Example 5
In het volgende voorbeeld wordt 0 geretourneerd omdat de invoer een ongeldige JSON-waarde is.
SELECT ISJSON('test string', VALUE)
Example 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)
Related content
- JSON-gegevens in SQL Server