Bagikan melalui


Menambahkan Node Akar ke Output JSON dengan Opsi ROOT (SQL Server)

Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics (hanya kumpulan SQL tanpa server)

Untuk menambahkan elemen tingkat atas tunggal ke output JSON dari klausul FOR JSON , tentukan opsi ROOT .

Jika Anda tidak menentukan opsi ROOT , output JSON tidak menyertakan elemen root.

Contoh

Tabel berikut menunjukkan output klausa FOR JSON dengan dan tanpa opsi ROOT .

Contoh dalam tabel berikut mengasumsikan bahwa argumen RootName opsional kosong. Jika Anda memberikan nama untuk elemen akar, nilai ini menggantikan akar nilai dalam contoh.

Tanpa opsi ROOT

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

Dengan opsi ROOT

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

Berikut adalah contoh lain dari klausul FOR JSON dengan opsi ROOT . Contoh ini menentukan nilai untuk argumen RootName opsional.

Kueri

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

Hasil

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

Hasil (tanpa root)

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

Pelajari selengkapnya tentang JSON di SQL Server dan Azure SQL Database

Video Microsoft

Catatan

Beberapa tautan video di bagian ini mungkin tidak berfungsi saat ini. Microsoft memigrasikan konten sebelumnya di Channel 9 ke platform baru. Kami akan memperbarui tautan saat video dimigrasikan ke platform baru.

Untuk pengenalan visual dukungan JSON bawaan di SQL Server dan Azure SQL Database, lihat video berikut ini:

Lihat Juga

Klausul FOR (Transact-SQL)