ConvertTo-Json 
	Konverterar ett objekt till en JSON-formaterad sträng.
Syntax
Default (Standard)
ConvertTo-Json
    [-InputObject] <Object>
    [-Depth <Int32>]
    [-Compress]
    [-EnumsAsStrings]
    [-AsArray]
    [-EscapeHandling <StringEscapeHandling>]
    [<CommonParameters>]
Description
Cmdleten ConvertTo-Json konverterar alla .NET-objekt till en sträng i JSON-format (JavaScript Object Notation). Egenskaperna konverteras till fältnamn, fältvärdena konverteras till egenskapsvärden och metoderna tas bort.
Anmärkning
Från och med PowerShell 7.2 serialiseras inte längre egenskaper för utökat typsystem för DateTime-- och String-objekt och endast det enkla objektet konverteras till JSON-format
Du kan sedan använda cmdleten ConvertFrom-Json för att konvertera en JSON-formaterad sträng till ett JSON-objekt, som enkelt hanteras i PowerShell.
Många webbplatser använder JSON i stället för XML för att serialisera data för kommunikation mellan servrar och webbaserade appar.
Från och med PowerShell 7.1 genererar ConvertTo-Json en varning om djupet i indataobjektet överskrider det djup som angetts för kommandot. Detta förhindrar oönskad dataförlust vid konvertering av objekt.
Från och med PowerShell 7.5-preview.3 kan ConvertTo-Json serialisera BigInteger- värden som råa JSON-tal.
Den här cmdleten introducerades i Windows PowerShell 3.0.
Exempel
Exempel 1
(Get-UICulture).Calendar | ConvertTo-Json
{
  "MinSupportedDateTime": "0001-01-01T00:00:00",
  "MaxSupportedDateTime": "9999-12-31T23:59:59.9999999",
  "AlgorithmType": 1,
  "CalendarType": 1,
  "Eras": [
    1
  ],
  "TwoDigitYearMax": 2029,
  "IsReadOnly": true
}
Det här kommandot använder cmdleten ConvertTo-Json för att konvertera ett GregorianCalendar-objekt till en JSON-formaterad sträng.
Exempel 2
Get-Date | ConvertTo-Json; Get-Date | ConvertTo-Json -AsArray
"2021-08-05T16:13:05.6394416-07:00"
[
  "2021-08-05T16:13:05.6421709-07:00"
]
Det här exemplet visar utdata från ConvertTo-Json cmdlet med och utan parametern AsArray switch. Du kan se att den andra delen av utdata är omsluten inom matrisparenteser.
Exempel 3
@{Account="User01";Domain="Domain01";Admin="True"} | ConvertTo-Json -Compress
{"Domain":"Domain01","Account":"User01","Admin":"True"}
Det här kommandot visar effekten av att använda parametern Compress för ConvertTo-Json. Komprimering påverkar endast strängens utseende, inte dess giltighet.
Exempel 4
Get-Date | Select-Object -Property * | ConvertTo-Json
{
  "DisplayHint": 2,
  "DateTime": "October 12, 2018 10:55:32 PM",
  "Date": "2018-10-12T00:00:00-05:00",
  "Day": 12,
  "DayOfWeek": 5,
  "DayOfYear": 285,
  "Hour": 22,
  "Kind": 2,
  "Millisecond": 639,
  "Minute": 55,
  "Month": 10,
  "Second": 32,
  "Ticks": 636749817326397744,
  "TimeOfDay": {
    "Ticks": 825326397744,
    "Days": 0,
    "Hours": 22,
    "Milliseconds": 639,
    "Minutes": 55,
    "Seconds": 32,
    "TotalDays": 0.95523888627777775,
    "TotalHours": 22.925733270666665,
    "TotalMilliseconds": 82532639.774400011,
    "TotalMinutes": 1375.54399624,
    "TotalSeconds": 82532.6397744
  },
  "Year": 2018
}
I det här exemplet används cmdleten ConvertTo-Json för att konvertera ett System.DateTime--objekt från cmdleten Get-Date till en JSON-formaterad sträng. Kommandot använder cmdleten Select-Object för att hämta alla (*) för egenskaperna för objektet DateTime. Utdata visar JSON-strängen som ConvertTo-Json returnerade.
Exempel 5
Get-Date | Select-Object -Property * | ConvertTo-Json | ConvertFrom-Json
DisplayHint : 2
DateTime    : October 12, 2018 10:55:52 PM
Date        : 2018-10-12 12:00:00 AM
Day         : 12
DayOfWeek   : 5
DayOfYear   : 285
Hour        : 22
Kind        : 2
Millisecond : 768
Minute      : 55
Month       : 10
Second      : 52
Ticks       : 636749817527683372
TimeOfDay   : @{Ticks=825527683372; Days=0; Hours=22; Milliseconds=768; Minutes=55; Seconds=52;
              TotalDays=0.95547185575463; TotalHours=22.9313245381111; TotalMilliseconds=82552768.3372;
              TotalMinutes=1375.87947228667; TotalSeconds=82552.7683372}
Year        : 2018
Det här exemplet visar hur du använder cmdletarna ConvertTo-Json och ConvertFrom-Json för att konvertera ett objekt till en JSON-sträng och ett JSON-objekt.
Parametrar
-AsArray 
		Returnerar objektet inom hakparenteser, även om indata är ett enda objekt.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Compress
Utelämnar tomt utrymme och indragen formatering i utdatasträngen.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Depth
Anger hur många nivåer av inneslutna objekt som ingår i JSON-representationen. Värdet kan vara valfritt tal från 0 till 100. Standardvärdet är 2. 
              ConvertTo-Json genererar en varning om antalet nivåer i ett indataobjekt överskrider det här antalet.
Parameteregenskaper
| Typ: | Int32 | 
| Standardvärde: | 2 | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-EnumsAsStrings 
		Tillhandahåller ett alternativt serialiseringsalternativ som konverterar alla uppräkningar till deras strängrepresentation.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-EscapeHandling 
		Styr hur vissa tecken är undantagna i de resulterande JSON-utdata. Som standard är endast kontrolltecken (som ny rad) undantagna.
Godtagbara värden är:
- Standard – Endast kontrolltecken är undantagna.
- EscapeNonAscii – Alla icke-ASCII- och kontrolltecken är undantagna.
- EscapeHtml – HTML (<,>,&,',") och kontrolltecken är undantagna.
Den här parametern introducerades i PowerShell 6.2.
Parameteregenskaper
| Typ: | Newtonsoft.Json.StringEscapeHandling | 
| Standardvärde: | Default | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-InputObject 
		Anger vilka objekt som ska konverteras till JSON-format. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten. Du kan också skicka ett objekt till ConvertTo-Json.
Parametern InputObject krävs, men dess värde kan vara null ($null) eller en tom sträng.
När indataobjektet är $nullreturnerar ConvertTo-Json JSON-representationen av null. När indataobjektet är en tom sträng returnerar ConvertTo-Json JSON-representationen av en tom sträng.
Parameteregenskaper
| Typ: | Object | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | 0 | 
| Obligatorisk: | True | 
| Värde från pipeline: | True | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
Object
Du kan skicka valfritt objekt till den här cmdleten.
Utdata
String
Den här cmdleten returnerar en sträng som representerar indataobjektet som konverterats till en JSON-sträng.
Kommentarer
Cmdleten ConvertTo-Json implementeras med hjälp av Newtonsoft Json.NET.