共用方式為


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

適用於: SQL Server 2016(13.x)和更新版本,Azure SQL DatabaseAzure SQL 受控實例Azure Synapse Analytics(僅無伺服器 SQL 資源集區)在 Microsoft Fabric 中的 SQL 分析端點在 Microsoft Fabric 中的 Warehouse

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

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

範例

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

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

沒有 [ROOT] 選項:

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

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

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

以下是另一個具有 FOR JSON 選項的 ROOT 子句範例。 這個範例會指定選擇性 RootName 自變數的值。

查詢

SELECT TOP 5   
       BusinessEntityID As Id,  
       FirstName, LastName,  
       Title As 'Info.Title',  
       MiddleName As 'Info.MiddleName'  
   FROM Person.Person  
   FOR JSON PATH, ROOT('info')

結果

{
    "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 支援的視覺效果簡介,請參閱下列影片: