Adicionar um nó raiz à saída JSON com a opção ROOT (SQL Server)
Aplica-se a: SQL Server 2016 (13.x) e posteriores Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics (somente pool de SQL sem servidor)
Para adicionar um único elemento de nível superior à saída JSON da cláusula FOR JSON , especifique a opção ROOT .
Se você não especificar a opção ROOT , a saída JSON não incluirá um elemento raiz.
Exemplos
A tabela a seguir mostra a saída da cláusula FOR JSON com e sem a opção ROOT .
Os exemplos na tabela a seguir pressupõem que o argumento RootName opcional esteja vazio. Se você fornecer um nome para o elemento raiz, esse valor substituirá o valor root nos exemplos.
Sem a opção ROOT
{
<<json properties>>
}
[
<<json array elements>>
]
Com a opção ROOT
{
"root": {
<<json properties>>
}
}
{
"root": [
<< json array elements >>
]
}
Veja outro exemplo de uma cláusula FOR JSON com a opção ROOT . Este exemplo especifica um valor para o argumento RootName opcional.
Consulta
SELECT TOP 5
BusinessEntityID As Id,
FirstName, LastName,
Title As 'Info.Title',
MiddleName As 'Info.MiddleName'
FROM Person.Person
FOR JSON PATH, ROOT('info')
Resultado
{
"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"
}
}]
}
Resultado (sem raiz)
[{
"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"
}
}]
Saiba mais sobre JSON no SQL Server e no Banco de Dados SQL do Azure
Vídeos da Microsoft
Observação
Alguns dos links de vídeo nesta seção podem não funcionar no momento. A Microsoft está migrando conteúdo armazenado anteriormente no Canal 9 para uma nova plataforma. Atualizaremos os links à medida que os vídeos forem migrados para a nova plataforma.
Para obter uma introdução visual ao suporte interno para JSON no SQL Server e no Banco de Dados SQL do Azure, consulte os seguintes vídeos: