JSON에서 대괄호 제거 - WITHOUT_ARRAY_WRAPPER 옵션Remove Square Brackets from JSON - WITHOUT_ARRAY_WRAPPER Option

이 항목은 다음에 적용됩니다. 예SQL Server(2016부터)예Azure SQL Database아니요Azure SQL Data Warehouse아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

기본적으로 FOR JSON 절의 JSON 출력을 둘러싸고 있는 대괄호를 제거하려면 WITHOUT_ARRAY_WRAPPER 옵션을 지정합니다.To remove the square brackets that surround the JSON output of the FOR JSON clause by default, specify the WITHOUT_ARRAY_WRAPPER option. 이 옵션에 단일 행 결과를 사용하여 단일 요소가 있는 배열 대신 단일 JSON 개체를 출력으로 생성합니다.Use this option with a single-row result to generate a single JSON object as output instead of an array with a single element.

이 옵션에 여러 행 결과를 사용하면 여러 요소와 누락된 대괄호 때문에 결과 출력이 유효한 JSON이 아닙니다.If you use this option with a multiple-row result, the resulting output is not valid JSON because of the multiple elements and the missing square brackets.

예(단일 행 결과)Example (single-row result)

다음 예제에는 WITHOUT_ARRAY_WRAPPER 옵션을 사용한 경우와 사용하지 않은 경우 FOR JSON 절의 출력이 나와 있습니다.The following example shows the output of the FOR JSON clause with and without the WITHOUT_ARRAY_WRAPPER option.

쿼리Query

SELECT 2015 as year, 12 as month, 15 as day  
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER 

WITHOUT_ARRAY_WRAPPER 옵션을 사용할 때의 결과Result with the WITHOUT_ARRAY_WRAPPER option

{
    "year": 2015,
    "month": 12,
    "day": 15
} 

WITHOUT_ARRAY_WRAPPER 옵션을 사용하지 않을 때의 결과(기본값)Result (default) without the WITHOUT_ARRAY_WRAPPER option

[{
    "year": 2015,
    "month": 12,
    "day": 15
}]

예(여러 행 결과)Example (multiple-row result)

아래에는 FOR JSON 옵션을 사용한 경우와 사용하지 않은 경우 WITHOUT_ARRAY_WRAPPER 옵션을 지정합니다.Here's another example of a FOR JSON clause with and without the WITHOUT_ARRAY_WRAPPER option. 이 예는 여러 행 결과를 생성합니다.This example produces a multiple-row result. 여러 요소와 누락된 대괄호 때문에 출력은 유효한 JSON이 아닙니다.The output is not valid JSON because of the multiple elements and the missing square brackets.

QueryQuery

SELECT TOP 3 SalesOrderNumber, OrderDate, Status  
FROM Sales.SalesOrderHeader  
ORDER BY ModifiedDate  
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER 

WITHOUT_ARRAY_WRAPPER 옵션을 사용할 때의 결과Result with the WITHOUT_ARRAY_WRAPPER option

{
    "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 옵션을 사용하지 않을 때의 결과(기본값)Result (default) without the WITHOUT_ARRAY_WRAPPER option

[{
    "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 Server의 기본 제공 JSON 지원에 대한 자세한 정보Learn more about the built-in JSON support in SQL Server

많은 특정 솔루션, 사용 사례 및 권장 사항은 Microsoft 프로그램 관리자인 Jovan Popovic이 제공하는 SQL Server 및 Azure SQL Database의 기본 제공 JSON 지원에 대한 블로그 게시물을 참조하세요.For lots of specific solutions, use cases, and recommendations, see the blog posts about the built-in JSON support in SQL Server and in Azure SQL Database by Microsoft Program Manager Jovan Popovic.

관련 항목:See Also

FOR 절(Transact-SQL)FOR Clause (Transact-SQL)