Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Относится к: SQL Server 2016 (13.x) и более поздних версиях
; Azure SQL Database
,Azure SQL Managed Instance
,Azure Synapse Analytics (только для serverless SQL pool),
SQL аналитический конечный пункт в Microsoft Fabric
; Склад в Microsoft Fabric
,SQL база данных в Microsoft Fabric
Чтобы добавить один элемент верхнего уровня в выходные данные JSON пункта FOR JSON, укажите параметр ROOT.
Если вы не укажете параметр ROOT, выходные данные JSON не будут включать корневой элемент.
Examples
В следующей таблице FOR JSON показаны результаты условия с параметром ROOT и без него.
Примеры в этой таблице предполагают, что необязательный аргумент RootName пуст. Если указать имя корневого элемента, это значение заменяет значение root в примерах.
ROOT Без параметра:
{
<<json properties>>
}
[
<<json array elements>>
]
С параметром ROOT :
{
"root": {
<<json properties>>
}
}
{
"root": [
<< json array elements >>
]
}
Ниже приведен еще один пример предложения FOR JSON с параметром ROOT. В этом примере указывается значение для необязательного RootName аргумента.
Query
SELECT TOP 5
BusinessEntityID As Id,
FirstName, LastName,
Title As 'Info.Title',
MiddleName As 'Info.MiddleName'
FROM Person.Person
FOR JSON PATH, ROOT('info')
Result
{
"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"
}
}]
}
Результат (без параметра 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"
}
}]
Дополнительные сведения о JSON в ядре СУБД SQL
Дополнительные сведения о встроенной поддержке JSON см. в следующих видео:
- JSON as a bridge between NoSQL and relational worlds (JSON как мост между NoSQL и реляционными решениями)