Condividi tramite


Aggiungere un nodo radice all'output JSON con l'opzione ROOT

Si applica a: SQL Server 2016 (13.x) e versioni successive database SQL di AzureIstanza gestita di SQL di AzureAzure Synapse Analytics (solo pool SQL serverless)endpoint di analisi SQL in Microsoft FabricWarehouse in Microsoft Fabric

Per aggiungere un singolo elemento di primo livello all'output JSON della clausola FOR JSON, specificare l'opzione ROOT.

Se non si specifica l'opzione ROOT, l'output JSON non include un elemento radice.

Esempi

Nella tabella seguente viene illustrato l'output della clausola FOR JSON con e senza l'opzione ROOT.

Gli esempi nella tabella seguente presuppongono che l'argomento facoltativo RootName sia vuoto. Se si specifica un nome per l'elemento radice, questo valore sostituisce il valore root negli esempi.

Senza l'opzione ROOT:

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

Con l'opzione ROOT:

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

Ecco un altro esempio di clausola FOR JSON con l'opzione ROOT. In questo esempio viene specificato un valore per l'argomento facoltativo RootName.

Query

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

Risultato

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

Risultato (senza radice)

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

Altre informazioni su JSON nel motore di database SQL

Per un'introduzione visiva al supporto JSON predefinito, vedere i video seguenti: