Odebrání hranatých závorek z JSON – možnost WITHOUT_ARRAY_WRAPPER
platí pro: SQL Server 2016 (13.x) a novější verze
Azure SQL Database
azure SQL Managed Instance
Azure Synapse Analytics (jenom bezserverový fond SQL)
koncový bod SQL Analytics v Microsoft Fabric
Warehouse v Microsoft Fabric
Pokud chcete ve výchozím nastavení odebrat hranaté závorky, které obklopují výstup JSON klauzule FOR JSON
, zadejte možnost WITHOUT_ARRAY_WRAPPER
. Tuto možnost použijte s výsledkem s jedním řádkem k vygenerování jednoho objektu JSON jako výstupu místo pole s jedním prvkem.
Pokud tuto možnost použijete s výsledkem, který má více řádků, výsledný výstup není platný JSON kvůli více prvkům a chybějícím hranatým závorkám.
Příklad (výsledek s jedním řádkem)
Následující příklad ukazuje výstup klauzule FOR JSON
s možností WITHOUT_ARRAY_WRAPPER
a bez této možnosti.
dotazu
SELECT 2015 as year, 12 as month, 15 as day
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
výsledek s možností WITHOUT_ARRAY_WRAPPER
{
"year": 2015,
"month": 12,
"day": 15
}
výsledek (výchozí) bez možnosti WITHOUT_ARRAY_WRAPPER
[{
"year": 2015,
"month": 12,
"day": 15
}]
Příklad (výsledek s více řádky)
Tady je další příklad klauzule FOR JSON
s možností WITHOUT_ARRAY_WRAPPER
a bez této možnosti. Tento příklad vytvoří výsledek s více řádky. Výstup není platný JSON kvůli více prvkům a chybějícím hranatým závorkám.
dotazu
SELECT TOP 3 SalesOrderNumber, OrderDate, Status
FROM Sales.SalesOrderHeader
ORDER BY ModifiedDate
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
výsledek s možností WITHOUT_ARRAY_WRAPPER
{
"SalesOrderNumber": "SO43662",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}, {
"SalesOrderNumber": "SO43661",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}, {
"SalesOrderNumber": "SO43660",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}
výsledek (výchozí) bez možnosti WITHOUT_ARRAY_WRAPPER
[{
"SalesOrderNumber": "SO43662",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}, {
"SalesOrderNumber": "SO43661",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}, {
"SalesOrderNumber": "SO43660",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}]
Další informace o formátu JSON v databázovém stroji SQL
Videa Microsoftu
Pro vizuální úvod do vestavěné podpory JSON v SQL Serveru a Azure SQL databázi si prohlédněte následující videa: