적용 대상: SQL Server 2016(13.x) 이상 버전
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics(서버리스 SQL 풀에만 해당)
Microsoft Fabric
Warehouse의 SQL 분석 엔드포인트
기본적으로 FOR JSON
절의 JSON 출력을 둘러싸고 있는 대괄호를 제거하려면 WITHOUT_ARRAY_WRAPPER
옵션을 지정합니다. 단일 행 결과와 함께 이 옵션을 사용하면 단일 요소의 배열 대신에 단일 JSON 개체를 출력으로 생성할 수 있습니다.
여러 행 결과와 함께 이 옵션을 사용하는 경우 여러 요소와 누락된 대괄호로 인해 결과 출력이 유효한 JSON이 아닙니다.
예제(단일 행 결과)
다음 예제에서는 WITHOUT_ARRAY_WRAPPER
옵션을 사용 또는 사용하지 않는 FOR JSON
절의 출력을 보여 있습니다.
쿼리
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
}]
예제(여러 행 결과)
다음은 WITHOUT_ARRAY_WRAPPER
옵션을 사용 및 사용하지 않는 FOR JSON
절의 또 다른 예입니다. 이 예제에서는 여러 행 결과를 생성합니다. 여러 요소와 누락된 대괄호로 인해 출력이 유효한 JSON이 아닙니다.
쿼리
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
}]
SQL Database 엔진의 JSON에 대해 자세히 알아보기
Microsoft 비디오
SQL Server 및 Azure SQL 데이터베이스에서 기본 제공 JSON 지원에 대한 시각적 소개는 다음 비디오를 참조하세요.