Partage via


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 DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (pool SQL serverless uniquement)point de terminaison d’analytique SQL dans Microsoft FabricWarehouse 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 :