Hapus Kurung Siku dari JSON - Opsi WITHOUT_ARRAY_WRAPPER
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 menghapus tanda kurung siku yang mengelilingi output JSON dari klausul FOR JSON secara default, tentukan opsi WITHOUT_ARRAY_WRAPPER . Gunakan opsi ini dengan hasil baris tunggal untuk menghasilkan satu objek JSON sebagai output alih-alih array dengan satu elemen.
Jika Anda menggunakan opsi ini dengan hasil beberapa baris, output yang dihasilkan tidak valid JSON karena beberapa elemen dan tanda kurung siku yang hilang.
Contoh (hasil baris tunggal)
Contoh berikut menunjukkan output klausa FOR JSON dengan dan tanpa opsi WITHOUT_ARRAY_WRAPPER .
Kueri
SELECT 2015 as year, 12 as month, 15 as day
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
Hasil dengan opsi WITHOUT_ARRAY_WRAPPER
{
"year": 2015,
"month": 12,
"day": 15
}
Hasil (default) tanpa opsi WITHOUT_ARRAY_WRAPPER
[{
"year": 2015,
"month": 12,
"day": 15
}]
Contoh (hasil beberapa baris)
Berikut adalah contoh lain dari klausul FOR JSON dengan dan tanpa opsi WITHOUT_ARRAY_WRAPPER . Contoh ini menghasilkan hasil beberapa baris. Output tidak valid JSON karena beberapa elemen dan tanda kurung siku yang hilang.
Kueri
SELECT TOP 3 SalesOrderNumber, OrderDate, Status
FROM Sales.SalesOrderHeader
ORDER BY ModifiedDate
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
Hasil dengan opsi 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
}
Hasil (default) tanpa opsi 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
}]
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: