共用方式為


使用 ROOT 選項將根節點加入至 JSON 輸出​

適用於:SQL Server 2016 (13.x)及以後版本Azure SQL 資料庫Azure SQL Managed InstanceAzure Synapse Analytics(僅限 serverless SQL pool 使用)Microsoft Fabric 中的 SQL Analytics 端點Microsoft Fabric 中的倉儲Microsoft Fabric 中的 SQL 資料庫

若要將單一最上層元素新增至 FOR JSON 子句的 JSON 輸出,請指定 ROOT 選項。

如果您未指定 ROOT 選項,JSON 輸出就不會包含根元素。

Examples

下表顯示 FOR JSON 子句在有 ROOT 選項和沒有 ROOT 選項時的輸出。

下表中的範例假設選擇性 RootName 引數是空的。 如果您提供根元素的名稱,這個值會取代範例中的值 root

沒有 [ROOT] 選項:

{  
   <<json properties>>  
}  
[  
   <<json array elements>>  
]  

在設定為 [ROOT] 的情況下:

{   
  "root": {  
   <<json properties>>  
 }  
}  
{   
  "root": [  
   << json array elements >>  
  ]  
}  

以下是另一個具有 FOR JSON 選項的 ROOT 子句範例。 這個範例會指定選擇性 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"
        }
    }]
}

結果 (不含根)

[{
    "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"
    }
}]

深入瞭解 SQL Database Engine 中的 JSON

如需內建 JSON 支援的視覺效果簡介,請參閱下列影片: