Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplica a: SQL Server 2016 (13.x) y versiones
posteriores y Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics (solo para SQL pool sin servidor)
punto final de SQL Analytics en Microsoft Fabric
Almacén en Microsoft Fabric
Base de datos SQL en Microsoft Fabric
Para agregar un único elemento de nivel superior a la salida JSON de la cláusula FOR JSON, especifique la opción ROOT.
Si no especifica la opción ROOT, la salida JSON no incluye un elemento raíz.
Examples
En la tabla siguiente se muestra la salida de la cláusula FOR JSON con y sin la opción ROOT.
En los ejemplos de la tabla siguiente se asume que el argumento RootName opcional está vacío. Si proporciona un nombre para el elemento raíz, este valor reemplaza el valor root en los ejemplos.
sin la opción ROOT:
{
<<json properties>>
}
[
<<json array elements>>
]
Con la opción ROOT:
{
"root": {
<<json properties>>
}
}
{
"root": [
<< json array elements >>
]
}
Este es otro ejemplo de una cláusula FOR JSON con la opción ROOT. En este ejemplo se especifica un valor para el 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 (sin raíz)
[{
"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"
}
}]
Más información sobre JSON en el motor de base de datos de SQL
Para obtener una introducción visual a la compatibilidad integrada con JSON, consulte los vídeos siguientes:
- JSON as a bridge between NoSQL and relational worlds (JSON como puente entre los universos NoSQL y relacional)