Hinzufügen eines Stammknotens zur JSON-Ausgabe mithilfe der ROOT-Option (SQL Server)
Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics (nur serverloser SQL-Pool)
Um der JSON-Ausgabe der FOR JSON -Klausel ein einzelnes Element der obersten Ebene hinzuzufügen, geben Sie die ROOT -Option an.
Wenn Sie die ROOT -Option nicht angeben, ist in der JSON-Ausgabe kein Stammelement enthalten.
Beispiele
Die folgende Tabelle zeigt die Ausgabe der FOR JSON -Klausel mit und ohne die ROOT -Option.
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 root -Wert in den Beispielen.
Ohne die Option ROOT
{
<<json properties>>
}
[
<<json array elements>>
]
Mit der ROOT -Option
{
"root": {
<<json properties>>
}
}
{
"root": [
<< json array elements >>
]
}
Hier ist ein weiteres Beispiel für eine FOR JSON -Klausel mit der ROOT -Option. Dieses Beispiel gibt einen Wert für das optionale RootName -Argument an.
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 in SQL Server und Azure SQL-Datenbank
Microsoft-Videos
Hinweis
Einige der Videolinks in diesem Abschnitt funktionieren derzeit möglicherweise nicht. Microsoft migriert Inhalte, die zuvor auf Channel 9 veröffentlicht wurden, zu einer neuen Plattform. Wir aktualisieren die Links, wenn die Videos zur neuen Plattform migriert werden.
Eine visuelle Einführung in die JSON-Unterstützung, die in SQL Server und Azure SQL-Datenbank integriert ist, finden Sie in den folgenden Videos: