Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics (yalnızca sunucusuz SQL havuzu)
Microsoft Fabric'te SQL analitik uç noktası
Microsoft Fabric'te depo veritabanı
Microsoft Fabric'te SQL veritabanı
Yan tümcesinin FOR JSON çıkışı üzerinde tam denetim sağlamak için PATH seçeneğini belirtin.
PATH modu, sarmalayıcı nesneleri oluşturmanızı ve karmaşık özellikleri iç içe yerleştirmenizi sağlar. Sonuçlar bir JSON nesneleri dizisi olarak biçimlendirilir.
Alternatif olarak, çıkışı AUTO deyiminin yapısına göre otomatik biçimlendirme seçeneğini SELECT kullanmaktır.
- Seçeneği hakkında daha fazla bilgi için bkz. JSON Çıkışını
AUTOOTOMATIK Mod ile Otomatik Olarak Biçimlendirme . - Her iki seçeneğe genel bakış için bkz. FOR JSON ile sorgu sonuçlarını JSON olarak biçimlendirme.
Burada FOR JSON yan tümcesinin PATH seçeneğiyle bazı örnekleri verilmiştir. Aşağıdaki örneklerde gösterildiği gibi noktayla ayrılmış sütun adlarını veya iç içe sorguları kullanarak iç içe yerleştirilmiş sonuçları biçimlendirin. Varsayılan olarak, null değerler FOR JSON çıktılarına dahil edilmez.
Azure Data Studio, JSON sonuçlarını düz bir dize görüntülemek yerine otomatik olarak biçimlendirdiğinden (bu makalede görüldüğü gibi) JSON sorguları için önerilen sorgu düzenleyicisidir.
Örnek - Nokta ile ayrılmış sütun adları
Aşağıdaki sorgu AdventureWorks Person tablosundaki ilk beş satırı JSON olarak biçimlendirir.
FOR JSON PATH ifadesi, JSON çıktısındaki anahtar adını belirlemek için sütun takma adını veya sütun adını kullanır. Alias noktalar içeriyorsa, PATH seçeneği iç içe nesneler oluşturur.
Query
SELECT TOP 5
BusinessEntityID As Id,
FirstName, LastName,
Title As 'Info.Title',
MiddleName As 'Info.MiddleName'
FROM Person.Person
FOR JSON PATH
Result
[{
"Id": 1,
"FirstName": "Ken",
"LastName": "Sanchez",
"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"
}
}]
Örnek - Birden çok tablo
Sorguda birden fazla tabloya başvurursanız, FOR JSON PATH diğer adını kullanarak her sütunu iç içe yuvarlar. Aşağıdaki sorgu, sorguya katılmış her (OrderHeader, OrderDetails) çift için bir JSON nesnesi oluşturur.
Query
SELECT TOP 2 H.SalesOrderNumber AS 'Order.Number',
H.OrderDate AS 'Order.Date',
D.UnitPrice AS 'Product.Price',
D.OrderQty AS 'Product.Quantity'
FROM Sales.SalesOrderHeader H
INNER JOIN Sales.SalesOrderDetail D
ON H.SalesOrderID = D.SalesOrderID
FOR JSON PATH
Result
[{
"Order": {
"Number": "SO43659",
"Date": "2011-05-31T00:00:00"
},
"Product": {
"Price": 2024.9940,
"Quantity": 1
}
}, {
"Order": {
"Number": "SO43659"
},
"Product": {
"Price": 2024.9940
}
}]
SQL Veritabanı Altyapısı'nda JSON hakkında daha fazla bilgi edinin
Yerleşik JSON desteğine görsel bir giriş için aşağıdaki videolara bakın: