PowerShell:
Робота з YAML
Як:
PowerShell за замовчуванням не має вбудованої команди для парсингу YAML, але він працює безперебійно з YAML, коли ви використовуєте модуль powershell-yaml
або перетворюєте YAML у об’єкт PowerShell за допомогою ConvertFrom-Json
у поєднанні з інструментом на кшталт yq
.
Використання модуля powershell-yaml
:
Спочатку встановіть модуль:
Install-Module -Name powershell-yaml
Для читання файлу YAML:
Import-Module powershell-yaml
$content = Get-Content -Path 'config.yml' -Raw
$yamlObject = ConvertFrom-Yaml -Yaml $content
Write-Output $yamlObject
Для запису об’єкта PowerShell у файл YAML:
$myObject = @{
name = "John Doe"
age = 30
languages = @("PowerShell", "Python")
}
$yamlContent = ConvertTo-Yaml -Data $myObject
$yamlContent | Out-File -FilePath 'output.yml'
Приклад output.yml
:
name: John Doe
age: 30
languages:
- PowerShell
- Python
Парсинг YAML за допомогою yq
та ConvertFrom-Json
:
Інший підхід полягає у використанні yq
, легковажного та портативного командного рядка обробника YAML. yq
може конвертувати YAML у JSON, який PowerShell може рідно парсити.
Спочатку переконайтесь, що на вашій системі встановлено yq
.
Потім запустіть:
$yamlToJson = yq e -o=json ./config.yml
$jsonObject = $yamlToJson | ConvertFrom-Json
Write-Output $jsonObject
Цей метод особливо корисний для користувачів, які працюють у крос-платформних середовищах або віддають перевагу використанню JSON у PowerShell.