Delen via


Vierkante haken verwijderen uit JSON - optie WITHOUT_ARRAY_WRAPPER

Van toepassing op: SQL Server 2016 (13.x) en latere versies Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (alleen serverloze SQL-pool)SQL Analytics-eindpunt in Microsoft FabricWarehouse in Microsoft FabricSQL-database in Microsoft Fabric Preview

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 WITHOUT_ARRAY_WRAPPER optie

{
    "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 volgt een ander voorbeeld van een FOR JSON component 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.

Query

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 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
}]

Meer informatie over JSON in de SQL Database Engine

Zie de volgende video's voor een visuele inleiding tot de ingebouwde JSON-ondersteuning: