PowerShell til JSON Converter
Lim inn en PowerShell-hashtable eller PSCustomObject. Få JSON tilbake.
Hva verktøyet gjør
Har du noen gang kopiert en @{...}-hashtable ut av et PowerShell-script og trengt JSON-ekvivalenten — uten å åpne et shell og pipe gjennom ConvertTo-Json — da er det akkurat det dette verktøyet er for. Lim inn PowerShell, få ren JSON tilbake. Funker for én hashtable, en [PSCustomObject]-instans eller en hel kjede av nestede @{}-blokker med arrays inni.
Outputen matcher det ConvertTo-Json -Depth 100 ville gitt deg. Hashtables og [PSCustomObject] blir begge JSON-objekter. Arrays (@(1,2,3)) blir JSON-arrays. $null blir null, $true/$false blir JSON-booleans. DateTime-verdier sendes ut som ISO-8601-strenger, samme konvensjon som PowerShell 7 bruker.
Nøkler med mellomrom eller spesialtegn forblir i hermetegn. Numeriske literaler (42, 3.14) forblir tall. Strenger med enkle og doble hermetegn parses korrekt, og escape-sekvenser i doble hermetegn (`n, `t) løses opp. Limer du inn flere tildelinger på toppnivå, blir hver av dem en nøkkel i output-JSON'en, navngitt etter variabelen.
Slik bruker du det
Tre steg. Funker likt enten du limer inn en hashtable med to nøkler eller en hel konfigblokk.
Lim inn PowerShell-en din (eller prøv eksempelet)
Slipp script-snippet'et ditt i venstre editor. En hashtable, et [PSCustomObject], nestede @{}-blokker eller en array av objekter — alt funker. Last inn eksempel viser et realistisk ordreeksempel.
Du trenger ikke rydde opp i noe — la $variable-prefiksene, [PSCustomObject]-castene og kommentarene stå akkurat som de er.
Trykk Konverter
Klikk på den grønne Konverter-knappen. Verktøyet parser hashtable'en, går gjennom hver nestede struktur og bygger JSON'en i ett pass.
Kopier JSON
Høyre panel fylles med innrykket JSON. Lim det inn i en ARM-mal, en Invoke-RestMethod-body eller en JSON-fixture for en Pester-test.
Når dette faktisk kommer godt med
Bygge request bodies for REST-API-er
Du har en hashtable klar til å sendes via <code>Invoke-RestMethod</code> og vil sjekke JSON-formen først. Lim inn, inspiser, send.
Konvertere konfig-hashtables til JSON-filer
Et team bruker <code>.psd1</code>-konfigfiler, men en ny tjeneste forventer JSON. Lim inn hashtable'en og lagre outputen som <code>config.json</code>.
ARM- / Bicep-parameterfiler
ARM-malparametre er JSON, men ofte bygger du dem opp som PowerShell-hashtables først. Konverter én gang og commit JSON'en.
Fôre nedstrøms-verktøy
CI-scripts i PowerShell må ofte overlevere strukturert data til Python, Node eller en container-kommando som forventer JSON på stdin. Det er akkurat den overleveringen.
Vanlige spørsmål
Matcher det ConvertTo-Json-output?
Ja — målet er paritet med ConvertTo-Json -Depth 100 -Compress:$false. Hashtables og [PSCustomObject]-objekter blir begge JSON-objekter; arrays blir JSON-arrays; $null, $true, $false mappes på vanlig måte.
Hva med [PSCustomObject] mot en vanlig hashtable?
Begge konverteres til samme JSON-objekt. [PSCustomObject] bevarer rekkefølgen på properties, noe verktøyet respekterer. Vanlige hashtables sorteres alfabetisk som standard — akkurat som ConvertTo-Json.
Kan jeg lime inn et helt script?
Ja, men bare toppnivå-tildelingene $variable = @{...} og [PSCustomObject]@{...} havner i outputen. Funksjonsdefinisjoner, kontrollflyt og cmdlet-kall ignoreres. Hver toppnivå-variabel blir en nøkkel i JSON'en, navngitt etter variabelen.
Hvordan håndteres datoer og tall?
Output fra [DateTime] og Get-Date kommer ut som ISO-8601-strenger. Numeriske literaler (inkludert [decimal]) forblir JSON-tall. Datoer limt inn som rå strenger bevares som strenger.
Lagres koden min?
Koden din sendes til backend for konvertering og lagres ikke — vi logger ikke payloaden. Hvis hashtable'en inneholder hemmeligheter, fjern dem før du limer inn.
Håndterer den here-strings og flerlinje strengverdier?
Ja. Here-strings @"..."@ og @'...'@ bevares som JSON-strenger med riktig newline-enkoding.
Andre verktøy du kanskje trenger
PowerShell til JSON passer godt sammen med resten av verktøykassa: