Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              Gäller för: SQL Server 2016 (13.x) och senare versioner 
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics (endast serverlös SQL-pool)
SQL-analysslutpunkt i Microsoft Fabric
Warehouse i Microsoft Fabric
SQL Database i Förhandsversion av Microsoft Fabric
Om du vill formatera utdata för FOR JSON-satsen automatiskt baserat på strukturen för SELECT-instruktionen anger du alternativet AUTO.
När du anger alternativet AUTO bestäms formatet för JSON-utdata automatiskt baserat på ordningen på kolumnerna i SELECT-listan och deras källtabeller. Du kan inte ändra det här formatet.
Alternativet är att använda alternativet PATH för att behålla kontrollen över utdata.
- Mer information om alternativet 
PATHfinns i Formatera kapslade JSON-utdata med PATH-läge. - En översikt över båda alternativen finns i Formatera frågeresultat som JSON med FOR JSON.
 
En fråga som använder alternativet FOR JSON AUTO måste ha en FROM-sats.
Här följer några exempel på FOR JSON-satsen med alternativet AUTO. 
              Azure Data Studio är den rekommenderade frågeredigeraren för JSON-frågor eftersom det automatiskt formaterar JSON-resultaten (som du ser i den här artikeln) i stället för att visa en platt sträng.
Examples
Example 1
Query
När en fråga endast refererar till en tabell liknar resultatet av FOR JSON AUTO-satsen resultatet av FOR JSON PATH. I det här fallet skapar FOR JSON AUTO inte kapslade objekt. Den enda skillnaden är att FOR JSON AUTO matar ut punktavgränsade alias (till exempel Info.MiddleName i följande exempel) som nycklar med punkter, inte som kapslade objekt.
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
När du kopplar tabeller genereras kolumner i den första tabellen som egenskaper för rotobjektet. Kolumner i den andra tabellen genereras som egenskaper för ett kapslat objekt. Tabellnamnet eller aliaset för den andra tabellen (till exempel D i följande exempel) används som namnet på den kapslade matrisen.
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
I stället för att använda FOR JSON AUTO kan du kapsla en FOR JSON PATH-underfråga i SELECT-instruktionen, som du ser i följande exempel. Det här exemplet ger samma resultat som föregående exempel.
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
    }]
}]
Läs mer om JSON i SQL Database Engine
En visuell introduktion till det inbyggda JSON-stödet finns i följande videor: