Dela via


Ta bort hakparenteser från JSON – WITHOUT_ARRAY_WRAPPER alternativ

gäller för: SQL Server 2016 (13.x) och senare versioner Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (endast serverlös SQL-pool)SQL-analysslutpunkt i Microsoft FabricWarehouse i Microsoft Fabric

Om du vill ta bort hakparenteserna som omger JSON-utdata för FOR JSON-satsen som standard anger du alternativet WITHOUT_ARRAY_WRAPPER. Använd det här alternativet med ett resultat med en rad för att generera ett enda JSON-objekt som utdata i stället för en matris med ett enda element.

Om du använder det här alternativet med ett resultat med flera rader är de resulterande utdata inte giltiga JSON på grund av de flera elementen och de hakparenteser som saknas.

Exempel (enradigt resultat)

I följande exempel visas utdata från FOR JSON-satsen med och utan alternativet WITHOUT_ARRAY_WRAPPER.

Fråga

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

Resultat med alternativet WITHOUT_ARRAY_WRAPPER

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

Resultat (standard) utan alternativet WITHOUT_ARRAY_WRAPPER

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

Exempel (resultat med flera rader)

Här är ett annat exempel på en FOR JSON-sats med och utan WITHOUT_ARRAY_WRAPPER-alternativet. Det här exemplet ger ett resultat med flera rader. Utdata är inte giltiga JSON på grund av de flera elementen och de hakparenteser som saknas.

Fråga

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

Resultat med alternativet 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
} 

Resultat (standard) utan alternativet 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
}]

Läs mer om JSON i SQL Database Engine

Microsoft-videor

En visuell introduktion till det inbyggda JSON-stödet i SQL Server och Azure SQL Database finns i följande videor: