PowerShell:
Att Arbeta med YAML
Hur:
PowerShell kommer som standard inte med en inbyggd cmdlet för att tolka YAML, men det fungerar sömlöst med YAML när du använder powershell-yaml
-modulen eller konverterar YAML till ett PowerShell-objekt med ConvertFrom-Json
i kombination med ett verktyg som yq
.
Använda powershell-yaml
-modulen:
Först, installera modulen:
Install-Module -Name powershell-yaml
För att läsa en YAML-fil:
Import-Module powershell-yaml
$content = Get-Content -Path 'config.yml' -Raw
$yamlObject = ConvertFrom-Yaml -Yaml $content
Write-Output $yamlObject
För att skriva ett PowerShell-objekt till en YAML-fil:
$myObject = @{
name = "John Doe"
age = 30
languages = @("PowerShell", "Python")
}
$yamlContent = ConvertTo-Yaml -Data $myObject
$yamlContent | Out-File -FilePath 'output.yml'
Exempel output.yml
:
name: John Doe
age: 30
languages:
- PowerShell
- Python
Tolka YAML med yq
och ConvertFrom-Json
:
En annan metod innebär att använda yq
, en lättviktig och portabel kommandorads-YAML-processor. yq
kan konvertera YAML till JSON, som PowerShell kan tolka inbyggt.
Först, se till att yq
är installerat på ditt system.
Kör sedan:
$yamlToJson = yq e -o=json ./config.yml
$jsonObject = $yamlToJson | ConvertFrom-Json
Write-Output $jsonObject
Denna metod är särskilt användbar för användare som arbetar i plattformsoberoende miljöer eller föredrar att använda JSON inom PowerShell.