پاورشل برای برنامهنویسان
@programming_tipsدرسنامه: کار با JSON و CSV در PowerShell
دادههای JSON و CSV فرمتهای محبوب برای ذخیره و انتقال دادهها هستند و شما به راحتی میتوانید با استفاده از PowerShell دادهها را بخوانید و بنویسید.
۱. کار با JSON
JSON یکی از فرمتهای استاندارد برای تبادل دادهها است که معمولاً در وبسرویسها، APIها و فایلهای پیکربندی استفاده میشود. در PowerShell، دستورات خاصی برای تبدیل دادهها به فرمت JSON و بالعکس وجود دارد.
۱.۱ ConvertFrom-Json
دستور ConvertFrom-Json برای تبدیل دادههای JSON به شیء PowerShell استفاده میشود. وقتی دادههای JSON را به PowerShell وارد میکنید، آنها تبدیل به اشیاء PowerShell میشوند که میتوانید به راحتی به آنها دسترسی داشته باشید.
مثال:
# فرض کنید فایل test.json این محتویات را دارد
# {
# "name": "Ali",
# "age": 27,
# "isStudent": false
# }
$json = Get-Content C:\test.json | ConvertFrom-Json
$json.name # نمایش نام
$json.age # نمایش سن
$json.isStudent # نمایش وضعیت دانشجویی
در این مثال، فایل JSON به یک شیء PowerShell تبدیل شده و میتوانیم به هر کدام از ویژگیهای آن دسترسی پیدا کنیم. دادههای JSON به صورت اتوماتیک به شیءهای PowerShell تبدیل میشوند که میتوانید از آنها استفاده کنید.
۱.۲ ConvertTo-Json
دستور ConvertTo-Json برای تبدیل شیء PowerShell به فرمت JSON استفاده میشود. به عبارت دیگر، میتوانید هر شیء PowerShell را به JSON تبدیل کرده و آن را در فایل یا در وبسرویسها ارسال کنید.
مثال:
# ایجاد یک شیء PowerShell
$person = [PSCustomObject]@{
name = "Ali"
age = 27
isStudent = $false
}
# تبدیل شیء به JSON
$json = $person | ConvertTo-Json
$json # نمایش دادههای JSON
در این مثال، یک شیء PowerShell به فرمت JSON تبدیل میشود. خروجی آن به شکل زیر خواهد بود:
{
"name": "Ali",
"age": 27,
"isStudent": false
}
۱.۳ کاربردهای JSON در PowerShell
- استفاده از JSON برای تبادل دادهها با APIها
- خواندن فایلهای JSON برای پیکربندیها
- ذخیره و انتقال دادهها به صورت ساختار یافته
۲. کار با CSV
CSV یکی دیگر از فرمتهای محبوب برای ذخیره و انتقال دادهها است که به صورت متنی دادهها را به صورت جدولوار ذخیره میکند. در PowerShell، دستورات خاصی برای کار با دادههای CSV وجود دارد.
۲.۱ Import-Csv
دستور Import-Csv برای وارد کردن دادههای CSV به PowerShell استفاده میشود. این دستور، فایل CSV را به شیءهای PowerShell تبدیل میکند، که در آن هر سطر به عنوان یک شیء در نظر گرفته میشود و هر ستون به عنوان یک پراپرتی.
مثال:
# فرض کنید فایل test.csv به شکل زیر است: # name,age,isStudent # Ali,27,false # Sara,22,true $csvData = Import-Csv C:\test.csv $csvData # نمایش دادههای CSV به عنوان اشیاء PowerShell
در این مثال، دادههای CSV به یک مجموعه از اشیاء تبدیل میشوند و میتوانید به راحتی به هر سطر (که به صورت شیء است) و هر ستون (که به صورت پراپرتی است) دسترسی پیدا کنید.
۲.۲ Export-Csv
دستور Export-Csv برای خروجی دادن دادهها به فرمت CSV استفاده میشود. شما میتوانید دادههای PowerShell را به فرمت CSV تبدیل کرده و در یک فایل ذخیره کنید.
مثال:
# ایجاد یک مجموعه از اشیاء PowerShell
$people = @(
[PSCustomObject]@{name="Ali"; age=27; isStudent=$false}
[PSCustomObject]@{name="Sara"; age=22; isStudent=$true}
)
# ذخیره دادهها در یک فایل CSV
$people | Export-Csv C:\people.csv -NoTypeInformation
در این مثال، دادهها به یک فایل CSV تبدیل میشوند. پارامتر -NoTypeInformation برای حذف اطلاعات اضافی (که نوع داده را نشان میدهد) از فایل CSV استفاده میشود.
۲.۳ کاربردهای CSV در PowerShell
- خواندن و نوشتن دادهها به صورت جدولوار
- انتقال دادههای ساختاریافته در قالبهای ساده
- استفاده در فایلهای پیکربندی یا ذخیره دادهها در فایلهای متنی
۳. نکات مهم هنگام کار با JSON و CSV
- تبدیل JSON به شیء PowerShell: با دستور
ConvertFrom-Jsonمیتوانید دادههای JSON را به شیءهای قابل استفاده در PowerShell تبدیل کنید. این دستور به شما امکان میدهد که به راحتی با دادههای ساختار یافته کار کنید. - تبدیل شیء PowerShell به JSON: با
ConvertTo-Jsonمیتوانید اشیاء PowerShell را به JSON تبدیل کنید، که برای ارسال دادهها به APIها یا ذخیره اطلاعات به صورت JSON مفید است. - کار با CSV: دستورات
Import-CsvوExport-Csvبه شما این امکان را میدهند که دادهها را به راحتی از فرمت CSV بخوانید و به آن بنویسید. این دستورات به ویژه در کار با دادههای جدولی بسیار مفید هستند.
۴. تمرین برای شما
۱. یک فایل JSON بسازید که شامل اطلاعات یک شخص (نام، سن، وضعیت دانشجویی) باشد. سپس این فایل را با استفاده از Get-Content بخوانید و دادههای آن را به PowerShell تبدیل کنید.
۲. دادههای JSON را به فرمت PowerShell تبدیل کنید و نام شخص را نمایش دهید.
۳. یک مجموعه از دادههای PowerShell ایجاد کنید و آنها را به فرمت CSV ذخیره کنید.
۴. دادههای CSV را به PowerShell وارد کنید و فقط کسانی که دانشجو هستند را نمایش دهید.
🔑 خلاصهی درسنامه:
ConvertFrom-Json: برای تبدیل دادههای JSON به اشیاء PowerShell.ConvertTo-Json: برای تبدیل اشیاء PowerShell به دادههای JSON.Import-Csv: برای وارد کردن دادههای CSV به PowerShell.Export-Csv: برای ذخیره دادهها به فرمت CSV.
این دستورات به شما کمک میکنند تا به راحتی با دادههای JSON و CSV کار کنید و آنها را به اشیاء PowerShell تبدیل کنید، یا از آنها دادههای جدید ایجاد کنید.