Udostępnij za pośrednictwem


Dodawanie węzła głównego do danych wyjściowych JSON przy użyciu opcji ROOT (SQL Server)

Dotyczy: SQL Server 2016 (13.x) i nowszych Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (tylko bezserwerowa pula SQL)

pl-PL: Aby dodać pojedynczy element najwyższego poziomu do danych wyjściowych klauzuli JSON FOR JSON, określ opcję ROOT.

Jeśli nie określisz opcji ROOT, dane wyjściowe JSON nie zawierają elementu głównego.

Przykłady

W poniższej tabeli przedstawiono dane wyjściowe klauzuli FOR JSON z opcją ROOT.

W przykładach w poniższej tabeli przyjęto założenie, że opcjonalny argument RootName jest pusty. Jeśli podasz nazwę dla elementu głównego, ta wartość zastępuje wartość root w przykładach.

Bez opcji ROOT

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

Za pomocą opcji ROOT

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

Oto kolejny przykład klauzuli FOR JSON z opcją ROOT. W tym przykładzie określono wartość opcjonalnego argumentu RootName.

Zapytanie

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

wynik

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

wynik (bez roota)

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

Dowiedz się więcej o formacie JSON w programie SQL Server i usłudze Azure SQL Database

Klipy wideo firmy Microsoft

Notatka

Niektóre linki wideo w tej sekcji mogą nie działać w tej chwili. Microsoft przenosi zawartość wcześniej dostępną na Channel 9 na nową platformę. Zaktualizujemy linki w miarę migrowania filmów wideo na nową platformę.

Aby zapoznać się z wizualnym wprowadzeniem do wbudowanej obsługi kodu JSON w programie SQL Server i usłudze Azure SQL Database, zobacz następujące wideo:

Zobacz też

klauzula FOR (Transact-SQL)