Klistra in PowerShell till vänster och klicka på "Konvertera" — vi gör om det till JSONKlistra in PowerShell-kod

Vad verktyget gör

Om du någonsin kopierat en @{...}-hashtable ur ett PowerShell-skript och behövt JSON-motsvarigheten — utan att öppna ett shell och pipa genom ConvertTo-Json — då är det här verktyget för dig. Klistra in PowerShell, få tillbaka ren JSON. Funkar för en ensam hashtable, en [PSCustomObject]-instans eller en hel kedja av nästlade @{}-block med arrays inuti.

Outputen matchar det ConvertTo-Json -Depth 100 skulle ge dig. Hashtables och [PSCustomObject] blir båda JSON-objekt. Arrays (@(1,2,3)) blir JSON-arrays. $null blir null, $true/$false blir JSON-booleaner. DateTime-värden skickas ut som ISO-8601-strängar, samma konvention som PowerShell 7 använder.

Nycklar med mellanslag eller specialtecken förblir citerade. Numeriska literaler (42, 3.14) förblir tal. Strängar i enkla och dubbla citattecken parsas båda korrekt, och escape-sekvenser i dubbla citattecken (`n, `t) löses upp. Om du klistrar in flera tilldelningar på toppnivå blir varje en nyckel i utdata-JSON, namngiven efter variabeln.

Så använder du det

Tre steg. Funkar likadant oavsett om du klistrar in en hashtable med två nycklar eller ett helt konfigblock.

1

Klistra in din PowerShell (eller testa exemplet)

Släng in ditt skriptutdrag i vänstra editorn. En hashtable, en [PSCustomObject], nästlade @{}-block eller en array av objekt — allt går bra. Ladda exempel visar ett realistiskt orderexempel.

Du behöver inte städa bort något — låt $variable-prefixen, [PSCustomObject]-casten och kommentarerna stå exakt som de är.

2

Tryck Konvertera

Klicka på den gröna Konvertera-knappen. Verktyget parsar hashtable-strukturen, går igenom varje nästlad nivå och bygger JSON på en gång.

3

Kopiera JSON

Den högra panelen fylls med indenterad JSON. Klistra in den i en ARM-mall, en Invoke-RestMethod-body eller en JSON-fixture för ett Pester-test.

När det verkligen kommer till användning

Bygga request bodies för REST-API:er

Du har en hashtable klar att skicka via <code>Invoke-RestMethod</code> och vill verifiera JSON-formen först. Klistra in, inspektera, skicka.

Konvertera konfig-hashtables till JSON-filer

Ett team använder <code>.psd1</code>-konfigfiler, men en ny tjänst förväntar sig JSON. Klistra in hashtable och spara outputen som <code>config.json</code>.

ARM- / Bicep-parameterfiler

ARM-mallparametrar är JSON, men man bygger dem ofta som PowerShell-hashtables först. Konvertera en gång och committa JSON:en.

Mata downstream-verktyg

CI-skript i PowerShell behöver ofta lämna över strukturerad data till Python, Node eller ett container-kommando som förväntar sig JSON på stdin. Det är precis den överlämningen.

Vanliga frågor

Matchar det ConvertTo-Json-output?

Ja — målet är paritet med ConvertTo-Json -Depth 100 -Compress:$false. Hashtables och [PSCustomObject]-objekt blir båda JSON-objekt; arrays blir JSON-arrays; $null, $true, $false mappas på vanligt sätt.

Vad är skillnaden på [PSCustomObject] och en vanlig hashtable?

Båda konverteras till samma JSON-objekt. [PSCustomObject] behåller egenskapsordningen, vilket verktyget respekterar. Vanliga hashtables sorteras alfabetiskt som standard — precis som ConvertTo-Json.

Kan jag klistra in ett helt skript?

Ja, men bara tilldelningarna på toppnivå — $variable = @{...} och [PSCustomObject]@{...} — kommer med i outputen. Funktionsdefinitioner, kontrollflöde och cmdlet-anrop ignoreras. Varje toppnivåvariabel blir en nyckel i JSON, namngiven efter variabeln.

Hur hanteras datum och tal?

Output från [DateTime] och Get-Date kommer ut som ISO-8601-strängar. Numeriska literaler (inklusive [decimal]) förblir JSON-tal. Datum som klistras in som råa strängar förblir strängar.

Sparas min kod?

Din kod skickas till backend för konvertering och sparas inte — vi loggar inte payloaden. Om hashtable innehåller hemligheter, plocka bort dem innan du klistrar in.

Hanterar det here-strings och flerradiga strängvärden?

Ja. Here-strings @"..."@ och @'...'@ bevaras som JSON-strängar med korrekt newline-kodning.

Andra verktyg du kan behöva

PowerShell till JSON passar bra ihop med resten av verktygslådan: