Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              Van toepassing op: SQL Server 2016 (13.x) en latere versies 
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics (alleen serverloze SQL-pool)
SQL Analytics-eindpunt in Microsoft Fabric
Warehouse in Microsoft Fabric
SQL-database in Microsoft Fabric Preview
Als u de uitvoer van de FOR JSON-component automatisch wilt opmaken op basis van de structuur van de SELECT-instructie, selecteert u de optie AUTO.
Wanneer u de optie AUTO opgeeft, wordt de indeling van de JSON-uitvoer automatisch bepaald op basis van de volgorde van kolommen in de SELECT-lijst en de bijbehorende brontabellen. U kunt deze indeling niet wijzigen.
Het alternatief is om de optie PATH te gebruiken om de controle over de uitvoer te behouden.
- Zie PATHvoor meer informatie over de optie .
- Zie Queryresultaten opmaken als JSON met FOR JSONvoor een overzicht van beide opties.
Een query die gebruikmaakt van de optie FOR JSON AUTO moet een FROM component hebben.
Hier volgen enkele voorbeelden van de FOR JSON clausule met de optie AUTO. 
              Azure Data Studio- is de aanbevolen queryeditor voor JSON-query's omdat de JSON-resultaten automatisch worden opgemaakt (zoals in dit artikel wordt weergegeven) in plaats van een platte tekenreeks weer te geven.
Examples
Example 1
Query
Wanneer een query slechts naar één tabel verwijst, zijn de resultaten van de FOR JSON AUTO component vergelijkbaar met de resultaten van FOR JSON PATH. In dit geval maakt FOR JSON AUTO geen geneste objecten. Het enige verschil is dat FOR JSON AUTO punt-gescheiden aliassen (bijvoorbeeld Info.MiddleName in het volgende voorbeeld) uitvoert als sleutels met punten, niet als geneste objecten.
SELECT TOP 5   
       BusinessEntityID As Id,  
       FirstName, LastName,  
       Title As 'Info.Title',  
       MiddleName As 'Info.MiddleName'  
   FROM Person.Person  
   FOR JSON AUTO  
Result
[{
    "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.",
    "Info.MiddleName": "A"
}]
Example 2
Query
Wanneer u tabellen samenvoegt, worden kolommen in de eerste tabel gegenereerd als eigenschappen van het hoofdobject. Kolommen in de tweede tabel worden gegenereerd als eigenschappen van een genest object. De tabelnaam of alias van de tweede tabel (bijvoorbeeld D in het volgende voorbeeld) wordt gebruikt als de naam van de geneste matrix.
SELECT TOP 2 SalesOrderNumber,  
        OrderDate,  
        UnitPrice,  
        OrderQty  
FROM Sales.SalesOrderHeader H  
   INNER JOIN Sales.SalesOrderDetail D  
     ON H.SalesOrderID = D.SalesOrderID  
FOR JSON AUTO   
Result
[{
    "SalesOrderNumber": "SO43659",
    "OrderDate": "2011-05-31T00:00:00",
    "D": [{
        "UnitPrice": 24.99,
        "OrderQty": 1
    }]
}, {
    "SalesOrderNumber": "SO43659",
    "D": [{
        "UnitPrice": 34.40
    }, {
        "UnitPrice": 134.24,
        "OrderQty": 5
    }]
}]
Example 3
              Query
In plaats van FOR JSON AUTO te gebruiken, kunt u een FOR JSON PATH-subquery nesten in de SELECT-instructie, zoals wordt weergegeven in het volgende voorbeeld. In dit voorbeeld wordt hetzelfde resultaat uitgevoerd als in het voorgaande voorbeeld.
SELECT TOP 2  
    SalesOrderNumber,  
    OrderDate,  
    (SELECT UnitPrice, OrderQty  
      FROM Sales.SalesOrderDetail AS D  
      WHERE H.SalesOrderID = D.SalesOrderID  
     FOR JSON PATH) AS D  
FROM Sales.SalesOrderHeader AS H  
FOR JSON PATH  
Result
[{
    "SalesOrderNumber": "SO43659",
    "OrderDate": "2011-05-31T00:00:00",
    "D": [{
        "UnitPrice": 24.99,
        "OrderQty": 1
    }]
}, {
    "SalesOrderNumber": "SO4390",
    "D": [{
        "UnitPrice": 24.99
    }]
}]
Meer informatie over JSON in de SQL Database Engine
Zie de volgende video's voor een visuele inleiding tot de ingebouwde JSON-ondersteuning: