Rimuovere le parentesi quadre dall'output JSON con l'opzione WITHOUT_ARRAY_WRAPPERRemove Square Brackets from JSON - WITHOUT_ARRAY_WRAPPER Option

In questo argomento si applica a: SìSQL ServerSìDatabase SQL di AzurenonAzure SQL Data Warehouse non Parallel Data WarehouseTHIS TOPIC APPLIES TO: yesSQL ServeryesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Per rimuovere le parentesi quadre che racchiudono l'output JSON della clausola FOR JSON per impostazione predefinita, specificare l'opzione WITHOUT_ARRAY_WRAPPER .To remove the square brackets that surround the JSON output of the FOR JSON clause by default, specify the WITHOUT_ARRAY_WRAPPER option. Usare questa opzione con un risultato a riga singola per generare un singolo oggetto JSON come output anziché una matrice con un singolo elemento.Use this option with a single-row result to generate a single JSON object as output instead of an array with a single element.

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.If you use this option with a multiple-row result, the resulting output is not valid JSON because of the multiple elements and the missing square brackets.

Esempio (risultato a riga singola)Example (single-row result)

L'esempio seguente mostra l'output della clausola FOR JSON con e senza l'opzione WITHOUT_ARRAY_WRAPPER .The following example shows the output of the FOR JSON clause with and without the WITHOUT_ARRAY_WRAPPER option.

QueryQuery

SELECT 2015 as year, 12 as month, 15 as day  
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER 

Risultato con l'opzione WITHOUT_ARRAY_WRAPPERResult with the WITHOUT_ARRAY_WRAPPER option

{
    "year": 2015,
    "month": 12,
    "day": 15
} 

Risultato (predefinito) senza l'opzione WITHOUT_ARRAY_WRAPPERResult (default) without the WITHOUT_ARRAY_WRAPPER option

[{
    "year": 2015,
    "month": 12,
    "day": 15
}]

Esempio (risultato a righe multiple)Example (multiple-row result)

Ecco un altro esempio di clausola FOR JSON con e senza l'opzione WITHOUT_ARRAY_WRAPPER .Here's another example of a FOR JSON clause with and without the WITHOUT_ARRAY_WRAPPER option. Questo esempio produce un risultato a righe multiple.This example produces a multiple-row result. L'output non è un oggetto JSON valido a causa dei molteplici elementi e delle parentesi quadre mancanti.The output is not valid JSON because of the multiple elements and the missing square brackets.

QueryQuery

SELECT TOP 3 SalesOrderNumber, OrderDate, Status  
FROM Sales.SalesOrderHeader  
ORDER BY ModifiedDate  
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER 

Risultato con l'opzione WITHOUT_ARRAY_WRAPPERResult with the WITHOUT_ARRAY_WRAPPER option

{
    "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 (predefinito) senza l'opzione WITHOUT_ARRAY_WRAPPERResult (default) without the WITHOUT_ARRAY_WRAPPER option

[{
    "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 sul supporto JSON integrato in SQL ServerLearn more about the built-in JSON support in SQL Server

Per soluzioni specifiche, casi d'uso e indicazioni, vedere i post del blog sul supporto JSON integrato in SQL Server e nel database SQL di Azure redatti da Jovan Popovic, Microsoft Program Manager.For lots of specific solutions, use cases, and recommendations, see the blog posts about the built-in JSON support in SQL Server and in Azure SQL Database by Microsoft Program Manager Jovan Popovic.

Vedere ancheSee Also

Clausola FOR (Transact-SQL)FOR Clause (Transact-SQL)