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ümleri
Microsoft Fabric'te Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
SQL veritabanı
Nesnenin her özelliği için veya dizideki her öğe için bir satır içeren bir tablo döndürmek için varsayılan şemayla kullanın OPENJSON .
Burada, varsayılan şema ile kullanılan OPENJSON bazı örnekler verilmiştir. Daha fazla bilgi ve daha fazla örnek için bkz. OPENJSON (Transact-SQL).
Örnek - Bir nesnenin her özelliğini döndürme
Query
SELECT *
FROM OPENJSON('{"name":"John","surname":"Doe","age":45}')
Results
| Key | Value |
|---|---|
| name | John |
| surname | Doe |
| age | 45 |
Örnek - Bir dizinin her öğesini döndürme
Query
SELECT [key],value
FROM OPENJSON('["en-GB", "en-UK","de-AT","es-AR","sr-Cyrl"]')
Results
| Key | Value |
|---|---|
| 0 | en-GB |
| 1 | en-UK |
| 2 | de-AT |
| 3 | es-AR |
| 4 | sr-Cyrl |
Örnek - JSON'ı geçici tabloya dönüştürme
Aşağıdaki sorgu, bilgi nesnesinin tüm özelliklerini döndürür.
DECLARE @json NVARCHAR(MAX)
SET @json=N'{
"info":{
"type":1,
"address":{
"town":"Bristol",
"county":"Avon",
"country":"Great Britain"
},
"tags":["Sport", "Water polo"]
},
"type":"Basic"
}'
SELECT *
FROM OPENJSON(@json,N'lax $.info')
Results
| Key | Value | Type |
|---|---|---|
| type | 1 | 0 |
| address | { "town":"Bristol", "county":"Avon", "country":"Büyük Britanya" } | 5 |
| tags | [ "Spor", "Sutopu" ] | 4 |
Örnek - İlişkisel verileri ve JSON verilerini birleştirme
Aşağıdaki örnekte, SalesOrderHeader tablosunda JSON biçiminde salesOrderReasons dizisi içeren bir SalesReason metin sütunu vardır. SalesOrderReasons nesneleri "Manufacturer" ve "Quality" gibi özellikler içerir. Örnek, JSON satış nedenleri dizisini ayrı bir alt tabloda depolanmış gibi genişleterek her satış siparişi satırını ilgili satış nedenleriyle birleştiren bir rapor oluşturur.
SELECT SalesOrderID,OrderDate,value AS Reason
FROM Sales.SalesOrderHeader
CROSS APPLY OPENJSON(SalesReasons)
Bu örnekte OPENJSON, nedenlerin değer sütunu olarak göründüğü bir satış nedenleri tablosu döndürür. CROSS APPLY işleci, her satış siparişi satırını OPENJSON tablo-değer işlevi tarafından döndürülen satırlara birleştirir.
SQL Veritabanı Altyapısı'nda JSON hakkında daha fazla bilgi edinin
Microsoft videoları
Yerleşik JSON desteğine görsel bir giriş için aşağıdaki videolara bakın: