Ajouter un nœud racine à la sortie JSON avec l’option ROOT
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 ajouter un élément de niveau supérieur unique à la sortie JSON de la clause FOR JSON
, spécifiez l’option ROOT
.
Si vous ne spécifiez pas l’option ROOT
, la sortie JSON n’inclut pas d’élément racine.
Exemples
Le tableau suivant montre la sortie de la clause FOR JSON
avec et sans l’option ROOT
.
Les exemples du tableau ci-dessous reposent sur l’hypothèse que l’argument RootName facultatif est vide. Si vous fournissez un nom pour l’élément racine, cette valeur remplace la valeur root
dans les exemples.
Sans option de ROOT
:
{
<<json properties>>
}
[
<<json array elements>>
]
avec l’option ROOT
:
{
"root": {
<<json properties>>
}
}
{
"root": [
<< json array elements >>
]
}
Voici un autre exemple de clause FOR JSON
avec l’option ROOT
. Cet exemple spécifie une valeur pour l’argument facultatif RootName
.
Requête
SELECT TOP 5
BusinessEntityID As Id,
FirstName, LastName,
Title As 'Info.Title',
MiddleName As 'Info.MiddleName'
FROM Person.Person
FOR JSON PATH, ROOT('info')
Résultat
{
"info": [{
"Id": 1,
"FirstName": "Ken",
"LastName": "Sánchez",
"Info": {
"MiddleName": "J"
}
}, {
"Id": 2,
"FirstName": "Terri",
"LastName": "Duffy",
"Info": {
"MiddleName": "Lee"
}
}, {
"Id": 3,
"FirstName": "Roberto",
"LastName": "Tamburello"
}, {
"Id": 4,
"FirstName": "Rob",
"LastName": "Walters"
}, {
"Id": 5,
"FirstName": "Gail",
"LastName": "Erickson",
"Info": {
"Title": "Ms.",
"MiddleName": "A"
}
}]
}
Résultat (sans racine)
[{
"Id": 1,
"FirstName": "Ken",
"LastName": "Sánchez",
"Info": {
"MiddleName": "J"
}
}, {
"Id": 2,
"FirstName": "Terri",
"LastName": "Duffy",
"Info": {
"MiddleName": "Lee"
}
}, {
"Id": 3,
"FirstName": "Roberto",
"LastName": "Tamburello"
}, {
"Id": 4,
"FirstName": "Rob",
"LastName": "Walters"
}, {
"Id": 5,
"FirstName": "Gail",
"LastName": "Erickson",
"Info": {
"Title": "Ms.",
"MiddleName": "A"
}
}]
En savoir plus sur JSON dans le moteur de base de données SQL
Pour une présentation visuelle de la prise en charge JSON intégrée, consultez les vidéos suivantes :