Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Относится к: 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 предложения, укажите параметр WITHOUT_ARRAY_WRAPPER. Используйте этот параметр с результатом из одной строки, чтобы создать в качестве вывода единый объект JSON вместо массива с одним элементом.
При применении к многострочному результату выходные данные не будут представлять собой действительный объект JSON в связи с использованием сразу нескольких компонентов и отсутствием квадратных скобок.
Пример (однострочный результат)
В следующем примере показаны выходные данные предложения FOR JSON с параметром WITHOUT_ARRAY_WRAPPER и без нее.
Query
SELECT 2015 as year, 12 as month, 15 as day
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
результат с опцией WITHOUT_ARRAY_WRAPPER
{
"year": 2015,
"month": 12,
"day": 15
}
результат (по умолчанию) без параметра WITHOUT_ARRAY_WRAPPER
[{
"year": 2015,
"month": 12,
"day": 15
}]
Пример (многострочный результат)
Ниже приведен еще один пример предложения FOR JSON с параметром WITHOUT_ARRAY_WRAPPER и без нее. В этом примере создается результат, состоящий из нескольких строк. Выходные данные не являются допустимым объектом JSON в связи с использованием сразу нескольких компонентов и отсутствием квадратных скобок.
Query
SELECT TOP 3 SalesOrderNumber, OrderDate, Status
FROM Sales.SalesOrderHeader
ORDER BY ModifiedDate
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
результат с опцией WITHOUT_ARRAY_WRAPPER
{
"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
}
результат (по умолчанию) без параметра WITHOUT_ARRAY_WRAPPER
[{
"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
}]
Дополнительные сведения о JSON в ядре СУБД SQL
Дополнительные сведения о встроенной поддержке JSON см. в следующих видео:
- JSON as a bridge between NoSQL and relational worlds (JSON как мост между NoSQL и реляционными решениями)