Delen via


Vierkante haken verwijderen uit JSON - optie WITHOUT_ARRAY_WRAPPER

van toepassing op: SQL Server 2016 (13.x) en hoger Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (alleen serverloze SQL-pool)

Als u de vierkante haken tussen de JSON-uitvoer van de FOR JSON--component standaard wilt verwijderen, geeft u de optie WITHOUT_ARRAY_WRAPPER op. Gebruik deze optie met een resultaat met één rij om één JSON-object als uitvoer te genereren in plaats van een matrix met één element.

Als u deze optie gebruikt met een resultaat met meerdere rijen, is de resulterende uitvoer geen geldige JSON vanwege de meerdere elementen en de ontbrekende vierkante haken.

Voorbeeld (resultaat met één rij)

In het volgende voorbeeld ziet u de uitvoer van de FOR JSON-clausule met en zonder de optie WITHOUT_ARRAY_WRAPPER.

Query-

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

Resultaat met de optie WITHOUT_ARRAY_WRAPPER

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

Resultaat (standaard) zonder de WITHOUT_ARRAY_WRAPPER optie

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

Voorbeeld (resultaat met meerdere rijen)

Hier is nog een voorbeeld van een FOR JSON--clausule met en zonder de WITHOUT_ARRAY_WRAPPER-optie. In dit voorbeeld wordt een resultaat met meerdere rijen gegenereerd. De uitvoer is geen geldige JSON vanwege de meerdere elementen en de ontbrekende vierkante haken.

Vraag

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

Resultaat met de WITHOUT_ARRAY_WRAPPER optie

{
    "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
} 

resultaat (standaard) zonder de optie 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
}]

Meer informatie over JSON in SQL Server en Azure SQL Database

Microsoft-video's

Notitie

Sommige videokoppelingen in deze sectie werken mogelijk niet op dit moment. Microsoft migreert inhoud die eerder op Channel 9 stond naar een nieuw platform. We werken de koppelingen bij naarmate de video's naar het nieuwe platform worden gemigreerd.

Zie de volgende video's voor een visuele inleiding tot de ingebouwde JSON-ondersteuning in SQL Server en Azure SQL Database:

Zie ook

FOR-Clausule (Transact-SQL)