PowerShell:
Lavorare con YAML
Come fare:
PowerShell, di default, non viene fornito con un cmdlet integrato per l’analisi di YAML, ma funziona senza problemi con YAML quando si sfrutta il modulo powershell-yaml
o si converte YAML in un oggetto PowerShell usando ConvertFrom-Json
in combinazione con uno strumento come yq
.
Utilizzando il modulo powershell-yaml
:
Prima, installa il modulo:
Install-Module -Name powershell-yaml
Per leggere un file YAML:
Import-Module powershell-yaml
$content = Get-Content -Path 'config.yml' -Raw
$yamlObject = ConvertFrom-Yaml -Yaml $content
Write-Output $yamlObject
Per scrivere un oggetto PowerShell in un file YAML:
$myObject = @{
name = "John Doe"
age = 30
languages = @("PowerShell", "Python")
}
$yamlContent = ConvertTo-Yaml -Data $myObject
$yamlContent | Out-File -FilePath 'output.yml'
Esempio di output.yml
:
name: John Doe
age: 30
languages:
- PowerShell
- Python
Analizzare YAML con yq
e ConvertFrom-Json
:
Un altro approccio coinvolge l’uso di yq
, un processore YAML da linea di comando leggero e portatile. yq
può convertire YAML in JSON, che PowerShell può analizzare nativamente.
Prima, assicurati che yq
sia installato sul tuo sistema.
Poi esegui:
$yamlToJson = yq e -o=json ./config.yml
$jsonObject = $yamlToJson | ConvertFrom-Json
Write-Output $jsonObject
Questo metodo è particolarmente utile per gli utenti che lavorano in ambienti multipiattaforma o preferiscono usare JSON all’interno di PowerShell.