Supprimer les crochets de JSON - Option WITHOUT_ARRAY_WRAPPER
s’applique à : SQL Server 2016 (13.x) et versions ultérieures
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics (pool SQL serverless uniquement)
point de terminaison d’analytique SQL dans Microsoft Fabric
Warehouse dans Microsoft Fabric
Pour supprimer les crochets qui entourent la sortie JSON de la clause FOR JSON
par défaut, spécifiez l’option WITHOUT_ARRAY_WRAPPER
. Utilisez cette option avec un résultat d’une seule ligne pour générer un seul objet JSON en tant que sortie au lieu d’un tableau avec un seul élément.
Si vous utilisez cette option avec un résultat de plusieurs lignes, la sortie résultante n’est pas un JSON valide en raison de la présence de plusieurs éléments et de l’absence de crochets.
Exemple (résultat d’une seule ligne)
L’exemple suivant montre la sortie de la clause FOR JSON
avec et sans l’option WITHOUT_ARRAY_WRAPPER
.
Requête
SELECT 2015 as year, 12 as month, 15 as day
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
Résultat avec l’option WITHOUT_ARRAY_WRAPPER
{
"year": 2015,
"month": 12,
"day": 15
}
Résultat (valeur par défaut) sans l’option WITHOUT_ARRAY_WRAPPER
[{
"year": 2015,
"month": 12,
"day": 15
}]
Exemple (résultat de plusieurs lignes)
Voici un autre exemple de clause FOR JSON
avec et sans option WITHOUT_ARRAY_WRAPPER
. Cet exemple produit un résultat de plusieurs lignes. La sortie n’est pas un JSON valide en raison de la présence de plusieurs éléments et de l’absence de crochets.
Requête
SELECT TOP 3 SalesOrderNumber, OrderDate, Status
FROM Sales.SalesOrderHeader
ORDER BY ModifiedDate
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
Résultat avec l’option 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
}
Résultat (valeur par défaut) sans l’option 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
}]
En savoir plus sur JSON dans le moteur de base de données SQL
Vidéos Microsoft
Pour obtenir une présentation visuelle de la prise en charge intégrée de JSON dans SQL Server et Azure SQL Database, consultez les vidéos suivantes :