Compartilhar via


Remover os colchetes da opção do JSON – WITHOUT_ARRAY_WRAPPER

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (somente pool de SQL sem servidor)endpoint de análise de SQL no Microsoft FabricArmazém no Microsoft FabricBanco de dados SQL no Microsoft Fabric

Para remover os colchetes que cercam a saída JSON da FOR JSON cláusula por padrão, especifique a opção WITHOUT_ARRAY_WRAPPER . Use essa opção com um resultado de linha única para gerar um único objeto JSON como saída em vez de uma matriz com um único elemento.

Se você usar essa opção com um resultado de várias linhas, a saída resultante não será um JSON válido devido aos vários elementos e aos colchetes ausentes.

Exemplo (resultados de linha única)

O exemplo a seguir mostra a saída da FOR JSON cláusula com e sem a opção WITHOUT_ARRAY_WRAPPER .

Query

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

Resultado com a opção WITHOUT_ARRAY_WRAPPER

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

Resultado (padrão) sem a opção WITHOUT_ARRAY_WRAPPER

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

Exemplo (resultado de várias linhas)

Aqui está outro exemplo de uma FOR JSON cláusula com e sem a opção WITHOUT_ARRAY_WRAPPER . Este exemplo produz um resultado de várias linhas. A saída não é um JSON válido devido aos vários elementos e aos colchetes ausentes.

Query

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

Resultado com a opção 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
} 

Resultado (padrão) sem a opção 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
}]

Saiba mais sobre o JSON no Mecanismo de Banco de Dados SQL

Para obter uma introdução visual ao suporte interno ao JSON, confira os seguintes vídeos: