Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server 2016 (13.x) e versioni successive
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics (solo pool SQL serverless)
endpoint di analisi SQL in Microsoft Fabric
Warehouse in Microsoft Fabric
Per rimuovere le parentesi quadre che racchiudono l'output JSON della clausola FOR JSON
per impostazione predefinita, specificare l'opzione WITHOUT_ARRAY_WRAPPER
. Usare questa opzione con un risultato a riga singola per generare un singolo oggetto JSON come output anziché una matrice con un singolo elemento.
Se si usa questa opzione con un risultato a righe multiple, l'output risultante non sarà un oggetto JSON valido a causa dei molteplici elementi e delle parentesi quadre mancanti.
Esempio (risultato a riga singola)
Nell'esempio seguente viene illustrato l'output della clausola FOR JSON
con e senza l'opzione WITHOUT_ARRAY_WRAPPER
.
Query
SELECT 2015 as year, 12 as month, 15 as day
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
risultato con l'opzione WITHOUT_ARRAY_WRAPPER
{
"year": 2015,
"month": 12,
"day": 15
}
risultato (impostazione predefinita) senza l'opzione WITHOUT_ARRAY_WRAPPER
[{
"year": 2015,
"month": 12,
"day": 15
}]
Esempio (risultato a righe multiple)
Ecco un altro esempio di clausola FOR JSON
con e senza l'opzione WITHOUT_ARRAY_WRAPPER
. Questo esempio produce un risultato a righe multiple. L'output non è un oggetto JSON valido a causa dei molteplici elementi e delle parentesi quadre mancanti.
Query
SELECT TOP 3 SalesOrderNumber, OrderDate, Status
FROM Sales.SalesOrderHeader
ORDER BY ModifiedDate
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
Risultato con l'opzione 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
}
risultato (impostazione predefinita) senza l'opzione 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
}]
Altre informazioni su JSON nel motore di database SQL
Video di Microsoft
Per un'introduzione visiva al supporto JSON predefinito in SQL Server e nel database SQL di Azure, vedere i video seguenti:
- JSON as a bridge between NoSQL and relational worlds (JSON come ponte tra NoSQL e gli ambienti relazionali)