Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server 2016 (13.x) a novější verze
koncového bodu Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
v Microsoft Fabric
Warehouse v databázi Microsoft Fabric
SQL v Microsoft Fabric
Syntaxe ISJSON testuje, jestli řetězec obsahuje platný json.
Syntax
ISJSON ( expression [, json_type_constraint] )
Arguments
expression
Řetězec, který se má testovat.
json_type_constraint
Určuje typ JSON, který se má vrátit se změnami vstupu. Platné hodnoty jsou VALUE, , ARRAYOBJECTnebo SCALAR. Představeno v SYSTÉMU SQL Server 2022 (16.x).
Note
Argument json_type_constraint se ve vyhrazených fondech Azure Synapse Analytics nepodporuje.
Návratová hodnota
Vrátí 1 , pokud řetězec obsahuje platný kód JSON; v opačném případě vrátí 0hodnotu . Vrátí NULLhodnotu null výrazu .
Pokud příkaz vynechá json_type_constraint, funkce testuje, jestli je vstup platným objektem nebo polem JSON a vrátí se jinak, vrátí 10.
Pokud je zadán json_type_constraint , funkce zkontroluje typ JSON následujícím způsobem:
| Value | Description |
|---|---|
VALUE |
Testuje platnou hodnotu JSON. Může se jednat o objekt JSON, pole, číslo, řetězec nebo jednu ze tří hodnot literálů (false, true, null). |
ARRAY |
Testy platného pole JSON |
OBJECT |
Testy pro platný objekt JSON |
SCALAR |
Testuje platnou skaláru JSON – číslo nebo řetězec. |
Json_type_constraint hodnotu SCALAR lze použít k otestování dokumentu JSON vyhovujícího formátu IETF RFC 8259, který obsahuje pouze skalární hodnotu JSON na nejvyšší úrovni. Dokument JSON, který neobsahuje skalární hodnotu JSON na nejvyšší úrovni, odpovídá IETF RFC 4627.
Nevrací chyby.
Remarks
ISJSON nekontroluje jedinečnost klíčů na stejné úrovni.
Examples
Příklad 1
Následující příklad spustí blok příkazu podmíněně, pokud hodnota @param parametru obsahuje platný json.
DECLARE @param <data type>
SET @param = <value>
IF (ISJSON(@param) > 0)
BEGIN
-- Do something with the valid JSON value of @param.
END
Příklad 2
Následující příklad vrátí řádky, ve kterých sloupec json_col obsahuje platný JSON.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1
Příklad 3
Následující příklad vrátí řádky, ve kterých sloupec json_col obsahuje platnou hodnotu JSON SCALAR na nejvyšší úrovni.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1
Příklad 4
Následující příklad vrátí hodnotu 1, protože vstup je platná hodnota JSON – true.
SELECT ISJSON('true', VALUE)
Příklad 5
Následující příklad vrátí hodnotu 0, protože vstup je neplatná hodnota JSON.
SELECT ISJSON('test string', VALUE)
Příklad 6
Následující příklad vrátí hodnotu 1, protože vstup je platným skalárem JSON podle dokumentu RFC 8259.
SELECT ISJSON('"test string"', SCALAR)