PowerShell:
Praca z YAML
Jak:
PowerShell domyślnie nie posiada wbudowanego polecenia cmdlet do analizy YAML, ale działa bezproblemowo z YAML, gdy wykorzystuje się moduł powershell-yaml
lub konwertuje YAML na obiekt PowerShell za pomocą ConvertFrom-Json
w połączeniu z narzędziem takim jak yq
.
Korzystając z modułu powershell-yaml
:
Najpierw zainstaluj moduł:
Install-Module -Name powershell-yaml
Aby odczytać plik YAML:
Import-Module powershell-yaml
$content = Get-Content -Path 'config.yml' -Raw
$yamlObject = ConvertFrom-Yaml -Yaml $content
Write-Output $yamlObject
Aby zapisać obiekt PowerShell do pliku YAML:
$myObject = @{
name = "John Doe"
age = 30
languages = @("PowerShell", "Python")
}
$yamlContent = ConvertTo-Yaml -Data $myObject
$yamlContent | Out-File -FilePath 'output.yml'
Przykładowy output.yml
:
name: John Doe
age: 30
languages:
- PowerShell
- Python
Analiza YAML za pomocą yq
i ConvertFrom-Json
:
Inne podejście polega na użyciu yq
, lekkiego i przenośnego procesora wiersza poleceń YAML. yq
może konwertować YAML na JSON, który PowerShell może natywnie analizować.
Najpierw upewnij się, że yq
jest zainstalowane na twoim systemie.
Następnie uruchom:
$yamlToJson = yq e -o=json ./config.yml
$jsonObject = $yamlToJson | ConvertFrom-Json
Write-Output $jsonObject
Ta metoda jest szczególnie użyteczna dla użytkowników, którzy pracują w środowiskach wieloplatformowych lub preferują używanie JSON w PowerShell.