تبدیل YAML به JSON
فایلهای پیکربندی YAML، مشخصات OpenAPI و فایلهای CI را به JSON تبدیل کنید تا هر پارسر، API یا اعتبارسنج اسکیما آن را بخواند. فایلهای .yaml یا .yml را بارگذاری کنید و JSON مرتب و تورفته دانلود کنید.
مبدل داده
یا فایلهای CSV, TSV, TXT … را اینجا رها کنید ·
حداکثر 95 MB برای هر فایل· تا 20 فایل· حذف پس از 30 دقیقه
فایلها روی سرورهای ما پردازش میشوند و پس از 30 دقیقه حذف میشوند.
نویسهای که ستونها را در فایلهای CSV و متنی جدا میکند، هم برای خواندن و هم برای نوشتن. حالت خودکار آن را از ورودی تشخیص میدهد و با ویرگول مینویسد.
UTF-8 برای همه زبانها کار میکند. اگر Excel در ویندوز هنگام باز کردن CSV نویسههای اروپایی یا آسیایی را خراب نشان میدهد، UTF-8 با BOM را انتخاب کنید.
ورودی Excel، ODS و Numbers: فقط برگه اول تبدیل شود یا همه برگهها (برای هر برگه یک CSV داخل ZIP، یا برای هر برگه یک کلید JSON).
نام زبانه برگه در صفحهگسترده جدید، حداکثر 31 نویسه.
آرایهای از شیءها برای هر ردیف از نام ستونها بهعنوان کلید استفاده میکند؛ آرایهای از آرایهها فشردهتر است و سرستون را بهعنوان آرایه اول نگه میدارد.
نام عنصر بیرونی که همه ردیفها را در بر میگیرد؛ هر ردیف داخل آن به یک <row> تبدیل میشود.
در دستورهای CREATE TABLE و INSERT استفاده میشود. فقط حروف انگلیسی، ارقام و زیرخط.
نقلقولگذاری و نوع ستونها بین پایگاههای داده کمی فرق دارد؛ همان را که میخواهید در آن وارد کنید انتخاب کنید.
سلولهای تاریخ را در یک قالب بازنویسی میکند. ISO (2026-10-18) برای پایگاه داده و کد امنترین است؛ «بدون تغییر» آنها را همانطور که در منبع هستند نگه میدارد.
نحوه استفاده از این ابزار
- 1
فایلهای YAML را بارگذاری کنید
فایلهای .yaml یا .yml را اضافه کنید؛ حداکثر 20 فایل در هر بار و هر کدام تا 95 MB. نامهای اصلی حفظ میشوند و فایلهای JSON با همان نام و پسوند جدید ساخته میشوند.
- 2
حالت تورفته یا فشرده را انتخاب کنید
گزینهٔ قالببندی خوانا روشن است و JSON را برای خواندن و بازبینی کد با تورفتگی مینویسد. برای فایل تکخطی که بخواهید در بدنهٔ درخواست جایگذاری کنید، آن را در تنظیمات پیشرفته خاموش کنید.
- 3
تبدیل کنید و به کار ببرید
روی تبدیل به JSON بزنید، فایل را دانلود کنید و آن را به API، اعتبارسنج یا اسکریپتی که به آن نیاز داشت بدهید.
چرا توسعهدهندگان YAML را به JSON تبدیل میکنند
YAML برای انسان نوشته شده است: بهجای آکولاد تورفتگی، توضیحات و بدون نقلقول برای بیشتر رشتهها. به همین دلیل فرمت مانیفستهای Kubernetes، گردشکارهای GitHub Actions، فایلهای Docker Compose و مشخصههای OpenAPI است که تیمها با دست ویرایش میکنند. JSON برای برنامهها نوشته شده است. هر زبانی در کتابخانهٔ استاندارد خود تجزیهگر JSON دارد، مرورگرها آن را بهصورت بومی میخوانند و بیشتر APIهای HTTP چیز دیگری نمیپذیرند.
پس تبدیل در مرز دو سیستم رخ میدهد. مهندس پلتفرم مانیفست را به jq میدهد که فقط JSON میخواند. توسعهدهندهٔ بکاند مشخصهٔ OpenAPI را برای تولیدکنندهٔ کدی میفرستد که JSON میخواهد. تستر دادههای آزمایشی YAML را در مجموعهتست جاوااسکریپت بارگذاری میکند. در همهٔ این موارد YAML منبع اصلی میماند و JSON خروجی ساخت است. برای مجموعهای از فیدها یا خروجیها بهجای پیکربندی، تبدیل XML به JSON فرمت نشانهگذاری قدیمیتر را به همین شکل تبدیل میکند.
YAML و JSON چگونه در کنار هم شکل گرفتند
- نخستین پیشنهاد YAML توسط Clark Evans
- 2001
- YAML 1.2 فرمت JSON را زیرمجموعهٔ YAML کرد
- 2009
- RFC 8259، استاندارد فعلی JSON
- 2017
- انتشار بازنگری YAML 1.2.2
- 2021
ویژگیهای خاص YAML در JSON چه میشوند
لنگر (&defaults) و ارجاعهایش (*defaults) اجازه میدهند YAML یک بلوک را دوباره استفاده کند. JSON ارجاع ندارد، پس هر ارجاع با نسخهٔ کامل بلوک لنگرشده جایگزین میشود.
- JSON ممکن است بهطور محسوسی از YAML بلندتر شود
- کلیدهای ادغام (
<<: *defaults) به همین شکل گسترش مییابند
خطوطی که با # شروع میشوند مستندات برای انسان هستند. JSON جایی برای آنها ندارد و حذف میشوند.
- YAML را بهعنوان منبع دارای توضیحات در کنترل نسخه نگه دارید
مقدار بدون نقلقول 2026-10-18 در بسیاری از تجزیهگرهای YAML یک مهر زمانی است. JSON نوع تاریخ ندارد، پس بهصورت رشتهٔ "2026-10-18" نوشته میشود.
یک جریان YAML میتواند چند سند جداشده با --- داشته باشد. فایل JSON یک مقدار دارد، پس اگر ابزار مقصد یک شیء واحد میخواهد هر سند را در فایل جدا بگذارید.
{
"service": "billing",
"replicas": 3,
"ports": [8080, 9090],
"env": {
"LOG_LEVEL": "info",
"REGION": "NO"
}
}مشخصات فرمتهای YAML و JSON
YAML
YAML
YAML («YAML Ain't Markup Language») قالب داده خوانا برای انسان است که نخستین بار در سال 2001 منتشر شد. بهجای کروشه و آکولاد از تورفتگی استفاده میکند، از توضیحات پشتیبانی میکند و ابرمجموعه JSON است. در پیکربندی Docker Compose، Kubernetes، GitHub Actions و بسیاری از برنامهها کاربرد فراوان دارد. وابستگی آن به فاصلهها باعث میشود با یک فاصله اشتباه خراب شود و برخی مقادیر مانند «no» یا تاریخها ممکن است غیرمنتظره تفسیر شوند.
- فشردهسازی
- –
- شفافیت
- –
- انیمیشن
- –
- سال معرفی
- 2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
JSON
نشانهگذاری شیء جاوااسکریپت (JSON)
JSON یک فرمت متنی سبک برای دادههای ساختاریافته است که Douglas Crockford در اوایل دهه 2000 آن را رایج کرد و با عنوان RFC 8259 و ECMA-404 استاندارد شد. اشیا، آرایهها، رشتهها، اعداد، مقادیر بولی و null را با نحوی ساده و خوانا نمایش میدهد. این فرمت پیشفرض APIهای وب، فایلهای پیکربندی و تبادل داده بین برنامهها در تقریباً همه زبانهای برنامهنویسی است. توضیحات، تاریخ یا طرحواره ندارد و فایلهای بزرگ تودرتو بدون نمایشگر سخت خوانده میشوند.
- فشردهسازی
- –
- شفافیت
- –
- انیمیشن
- –
- سال معرفی
- 2001 · Douglas Crockford
وقتی پیکربندی یا مشخصهای که برای انسان نوشته شده باید به ماشین داده شود، YAML را به JSON تبدیل میکنند: درخواست API، اعتبارسنج طرحواره یا ابزاری که تجزیهگر YAML ندارد.
پرسشهای متداول تبدیل YAML به JSON
وقتی YAML و JSON دادههای یکسانی دارند، چرا YAML را به JSON تبدیل کنیم؟
چون بسیاری از ابزارها فقط یکی از این دو را میخوانند. خوانندههای JSON در هر زبان برنامهنویسی و هر مرورگری وجود دارند، اما YAML به کتابخانهٔ اضافه نیاز دارد. بدنهٔ درخواستهای REST API، اعتبارسنجهای JSON Schema، jq و فایلهایی مانند package.json یا manifest.json افزونهٔ مرورگر همگی JSON میخواهند.
توضیحات (کامنتهای) فایل YAML من چه میشوند؟
حذف میشوند. طبق RFC 8259 در JSON سینتکسی برای توضیحات وجود ندارد و خطوط شروعشده با # جایی برای ماندن ندارند. فایل YAML را بهعنوان منبع مستند نگه دارید و JSON را نسخهای تولیدشده بدانید که هر زمان میتوان دوباره ساختش.
چرا NO یا off به false تبدیل شد؟
تجزیهگرهایی که از YAML 1.1 پیروی میکنند yes، no، on و off را مقدار بولی میخوانند، بنابراین کد کشوری مثل NO برای نروژ ممکن است false شود. YAML 1.2 مقدار بولی را به true و false محدود میکند، اما همهٔ ابزارها از آن پیروی نمیکنند. چنین مقادیری را در YAML داخل نقلقول بنویسید، مثل "NO"، تا در JSON رشته بمانند.
آیا میتوانم قالب CloudFormation نوشتهشده با YAML را تبدیل کنم؟
AWS CloudFormation هر دو فرمت را میپذیرد، اما تگهای کوتاه مثل !Ref و !GetAtt فقط در YAML وجود دارند. قالبهای JSON آنها را بهصورت تابع کامل مینویسند، یعنی {"Ref": "MyBucket"} یا {"Fn::GetAtt": [...]}. پیش از تبدیل، تگهای کوتاه را به شکل بلند بازنویسی کنید تا قالب JSON معتبر بماند.
چگونه JSON را به YAML تبدیل کنم؟
از تبدیل JSON به YAML استفاده کنید. وقتی پاسخ یک API یا فایلی تولیدشده باید به فایل پیکربندی خوانا در یک مخزن تبدیل شود، معمولاً همین جهت لازم است.