PowerShell:
การทำงานกับ YAML
วิธีการ:
PowerShell โดยค่าเริ่มต้นไม่มี cmdlet ในตัวสำหรับการแยกวิเคราะห์ 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.