Compartilhar via


Adicionar um nó raiz à saída JSON com a opção ROOT

Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (somente pool de SQL sem servidor)endpoint de análise de SQL no Microsoft FabricArmazém no Microsoft FabricBanco de dados SQL no Microsoft Fabric

Para adicionar um único elemento de nível superior à saída JSON da FOR JSON cláusula, especifique a opção ROOT .

Se você não especificar a opção ROOT , a saída JSON não inclui um elemento raiz.

Examples

A tabela a seguir mostra a saída da FOR JSON cláusula 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 >>  
  ]  
}  

Aqui está outro exemplo de uma FOR JSON cláusula com a opção ROOT . Este exemplo especifica um valor para o argumento opcional 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"
        }
    }]
}

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 o JSON no Mecanismo de Banco de Dados SQL

Para obter uma introdução visual ao suporte interno ao JSON, confira os seguintes vídeos: