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 quitar los corchetes que rodean la salida JSON de la cláusula FOR JSON de manera predeterminada, especifique la opción WITHOUT_ARRAY_WRAPPER. Use esta opción con un resultado de fila única para generar un objeto JSON único como resultado en lugar de una matriz con un elemento único.
Si usa esta opción con un resultado de varias filas, el resultado no es un valor JSON válido debido a la existencia de varios elementos y los corchetes que faltan.
Ejemplo (resultado de fila única)
En el ejemplo siguiente se muestra la salida de la FOR JSON cláusula con y sin la WITHOUT_ARRAY_WRAPPER opción .
Query
SELECT 2015 as year, 12 as month, 15 as day
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
Resultado con la WITHOUT_ARRAY_WRAPPER opción
{
"year": 2015,
"month": 12,
"day": 15
}
Resultado (valor predeterminado) sin la WITHOUT_ARRAY_WRAPPER opción
[{
"year": 2015,
"month": 12,
"day": 15
}]
Ejemplo (resultado de varias filas)
Este es otro ejemplo de una FOR JSON cláusula con y sin la WITHOUT_ARRAY_WRAPPER opción . En este ejemplo, se genera un resultado de varias filas. El resultado no es un valor JSON válido debido a la existencia de varios elementos y los corchetes que faltan.
Query
SELECT TOP 3 SalesOrderNumber, OrderDate, Status
FROM Sales.SalesOrderHeader
ORDER BY ModifiedDate
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
Resultado con la WITHOUT_ARRAY_WRAPPER opción
{
"SalesOrderNumber": "SO43662",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}, {
"SalesOrderNumber": "SO43661",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}, {
"SalesOrderNumber": "SO43660",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}
Resultado (valor predeterminado) sin la WITHOUT_ARRAY_WRAPPER opción
[{
"SalesOrderNumber": "SO43662",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}, {
"SalesOrderNumber": "SO43661",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}, {
"SalesOrderNumber": "SO43660",
"OrderDate": "2011-05-31T00:00:00",
"Status": 5
}]
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)