Freigeben über


Hinzufügen eines Stammknotens zur JSON-Ausgabe mithilfe der ROOT-Option

Gilt für: SQL Server 2016 (13.x) und neuere Versionen Azure SQL-Datenbankazure SQL Managed InstanceAzure Synapse Analytics (nur serverloser SQL-Pool)SQL Analytics-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric

Wenn Sie der JSON-Ausgabe der FOR JSON-Klausel ein einzelnes Element auf oberster Ebene hinzufügen möchten, geben Sie die option ROOT an.

Wenn Sie die Option ROOT nicht angeben, enthält die JSON-Ausgabe kein Stammelement.

Beispiele

Die folgende Tabelle zeigt die Ausgabe der FOR JSON Klausel mit und ohne die Option ROOT.

Bei den Beispielen in der folgenden Tabelle wird angenommen, dass das optionale RootName -Argument leer ist. Wenn Sie einen Namen für das Stammelement angeben, ersetzt dieser Wert den Wert root in den Beispielen.

Ohne die Option ROOT:

{  
   <<json properties>>  
}  
[  
   <<json array elements>>  
]  

Mit der Option ROOT:

{   
  "root": {  
   <<json properties>>  
 }  
}  
{   
  "root": [  
   << json array elements >>  
  ]  
}  

Hier sehen Sie ein weiteres Beispiel für eine FOR JSON-Klausel mit der Option ROOT. In diesem Beispiel wird ein Wert für das optionale RootName-Argument angegeben.

Abfrage

SELECT TOP 5   
       BusinessEntityID As Id,  
       FirstName, LastName,  
       Title As 'Info.Title',  
       MiddleName As 'Info.MiddleName'  
   FROM Person.Person  
   FOR JSON PATH, ROOT('info')

Ergebnis

{
    "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"
        }
    }]
}

Ergebnis (ohne ROOT)

[{
    "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"
    }
}]

Weitere Informationen zu JSON im SQL-Datenbankmodul

Eine visuelle Einführung in die integrierte JSON-Unterstützung finden Sie in den folgenden Videos: