Aracılığıyla paylaş


JSON'dan Köşeli Parantez Kaldırma - WITHOUT_ARRAY_WRAPPER Seçeneği

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümler Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (yalnızca sunucusuz SQL havuzu)Microsoft Fabric'te SQL analitik uç noktasıMicrosoft Fabric'te depo veritabanıMicrosoft Fabric'te SQL veritabanı

FOR JSON yan tümcesinin JSON çıkışını çevreleyen köşeli ayraçları varsayılan olarak kaldırmak için WITHOUT_ARRAY_WRAPPER seçeneğini belirtin. Tek öğeli bir dizi yerine çıkış olarak tek bir JSON nesnesi oluşturmak için bu seçeneği tek satırlı bir sonuçla kullanın.

Bu seçeneği birden çok satırlı bir sonuçla kullanırsanız, birden çok öğe ve eksik köşeli ayraçlar nedeniyle sonuçta elde edilen çıkış geçerli JSON değildir.

Örnek (tek satırlı sonuç)

Aşağıdaki örnekte, FOR JSON yan tümcesinin WITHOUT_ARRAY_WRAPPER seçeneğiyle ve seçeneği olmadan çıkışı gösterilmektedir.

Query

SELECT 2015 as year, 12 as month, 15 as day  
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER 

SonuçWITHOUT_ARRAY_WRAPPER seçeneğiyle

{
    "year": 2015,
    "month": 12,
    "day": 15
} 

Seçenek olmadan WITHOUT_ARRAY_WRAPPER sonuç (varsayılan)

[{
    "year": 2015,
    "month": 12,
    "day": 15
}]

Örnek (çok satırlı sonuç)

İşte FOR JSON seçeneği olan ve olmayan bir yan tümcenin başka bir örneği WITHOUT_ARRAY_WRAPPER. Bu örnek, çok satırlı bir sonuç üretir. Birden çok öğe bulunması ve köşeli ayraçların eksik olması nedeniyle çıkış verisi geçerli bir JSON değil.

Query

SELECT TOP 3 SalesOrderNumber, OrderDate, Status  
FROM Sales.SalesOrderHeader  
ORDER BY ModifiedDate  
FOR JSON PATH, WITHOUT_ARRAY_WRAPPER 

SonuçWITHOUT_ARRAY_WRAPPER seçeneğiyle

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

Seçenek olmadan WITHOUT_ARRAY_WRAPPER sonuç (varsayılan)

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

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:

  • NoSQL ile ilişkisel dünyalar arasında bir köprü olarak JSON