Sdílet prostřednictvím


Přidání kořenového uzlu do výstupu JSON s možností ROOT

platí pro: SQL Server 2016 (13.x) a novější verze Azure SQL Databaseazure SQL Managed InstanceAzure Synapse Analytics (jenom bezserverový fond SQL)koncový bod SQL Analytics v Microsoft FabricWarehouse v Microsoft Fabric

Pokud chcete přidat jeden element nejvyšší úrovně do výstupu JSON klauzule FOR JSON, zadejte možnost ROOT.

Pokud nezadáte možnost ROOT, výstup JSON neobsahuje kořenový prvek.

Příklady

Následující tabulka ukazuje výstup klauzule FOR JSON s možností ROOT a bez této možnosti.

Příklady v následující tabulce předpokládají, že volitelný argument RootName je prázdný. Pokud zadáte název kořenového elementu, nahradí tato hodnota hodnotu root v příkladech.

Bez možnosti ROOT:

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

s možností ROOT:

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

Tady je další příklad klauzule FOR JSON s možností ROOT. Tento příklad určuje hodnotu volitelného argumentu RootName.

dotazu

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

výsledek

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

Výsledek (bez kořenového adresáře)

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

Další informace o formátu JSON v databázovém stroji SQL

Vizuální úvod k integrované podpoře JSON najdete v následujících videích: