YAML کو JSON میں تبدیل کرنا YAML Ain't Markup Language ↔ JavaScript Object Notation مفت آن لائن محفوظ
ایک YAML فائل چھوڑیں اور JSON لے جائیں۔ پڑھنا اور لکھنا یہیں، آپ کے براؤزر میں ہوتا ہے، سو فائل آپ کے آلے سے باہر نہیں جاتی — اور یہ سفر کیا بچاتا ہے اور کیا نہیں، وہ نیچے لکھا ہے، آپ کے دریافت کرنے پر نہیں چھوڑا گیا۔
اپنی فائل بدلیے
یہاں ایک YAML فائل چھوڑیں، یا کوئی چنیں۔
آپ کی فائل اس آلے سے باہر نہیں جاتی۔ سب کچھ آپ کے براؤزر میں چلتا ہے۔
کچھ بھی اپ لوڈ نہیں
YAML سے تبدیلی
YAML میں تبدیلی
یہ صورتیں کہاں سے آئیں
CSV سب سے پرانی اور سب سے کم معیار بند ہے: ایک جدول جو متن کی سطروں کی صورت لکھا گیا، 1970ء کی دہائی سے زیرِ استعمال اور تحریری طور پر بیان ہوا 2005ء میں، جب تک ہر پروگرام خود ہی طے کر چکا تھا کہ جدا کرنے والا نشان کیا ہے اور واوین کب لگانے ہیں۔ XML 1998ء میں SGML سے نکلا، ایسی دستاویزوں کے لیے جنہیں سخت ساخت اٹھانی ہو اور کسی خاکے پر پرکھا جانا ہو۔ JSON کو ڈگلس کراک فورڈ نے 2001ء کے آس پاس جاوا اسکرپٹ سے کھینچ نکالا، جان بوجھ کر اسے اشیا، فہرستوں، اعداد اور حرفی لڑیوں تک گھٹا دیا — اور یہی سادگی ویب پر اس کے غلبے کا سبب ہے۔ YAML اس کا پڑھنے کے قابل عم زاد ہے، جہاں اندر کی جگہ وہ کام کرتی ہے جو کہیں اور قوسین کرتے ہیں۔ ان کے درمیان تبدیلی میں بس ایک بات اہم ہے: CSV چپٹی ہے، سطروں اور کالموں کی جالی؛ جبکہ JSON، XML اور YAML درخت ہیں۔
آپ انہیں کہاں ملتے ہیں
CSV وہ ہے جو حسابی شیٹ برآمد کرتی ہے اور جو کوئی محاسب، کوئی دکان کا پلیٹ فارم یا بینک کا گوشوارہ آپ کو تھماتا ہے۔ JSON وہ زبان ہے جو ویب کی خدمات آپس میں بولتی ہیں، اور ترتیبات کی فائلیں بھی بڑھتے بڑھتے اسی میں لکھی جاتی ہیں۔ XML پرانے ادارہ جاتی نظاموں میں، بل سازی کے معیاروں میں، اور خود دفتری صورتوں کے اندر زندہ ہے۔ YAML وہ جگہ ہے جہاں انسان ہاتھ سے ترتیبات لکھتے ہیں۔ ان کے درمیان تبدیلی روز کا وہ کام ہے جو اعداد و شمار کو اُن کی جائے پیدائش سے وہاں لے جاتا ہے جہاں ان کی ضرورت ہے۔
اکثر پوچھے جانے والے سوالات
میری CSV ایکسل میں ایک ہی کالم کے طور پر کھلی۔ کیوں؟
کیونکہ آپ کی حسابی شیٹ کسی اور جدا کرنے والے نشان کی منتظر تھی۔ ایکسل کمپیوٹر کی علاقائی ترتیبات کے فہرستی نشان کی پیروی کرتا ہے، اور وہ ہر اُس جگہ سیمی کولن ہوتا ہے جہاں کاما پہلے ہی اعشاریے کا نشان ہے — یعنی برِاعظمی یورپ کے بڑے حصے میں۔ تب کاموں سے جدا کی گئی فائل متن کے ایک ہی کالم جیسی دکھتی ہے۔ فائل پر دو بار کلک کرنے کے بجائے درآمد کی کھڑکی برتیں اور نشان صراحتاً بتائیں۔ اسی علاقائی ترتیب سے یہ بھی ہوتا ہے کہ 3.5 کبھی تاریخ بن کر پہنچ جاتا ہے۔
میرا تہ در تہ JSON صاف ستھری حسابی شیٹ کیوں نہیں بن پاتا؟
کیونکہ حسابی شیٹ چپٹی ہے اور JSON ایک درخت۔ ایک سطر ہر کالم کے لیے ایک قدر رکھتی ہے؛ جبکہ JSON کی ایک شے کسی خانے کے اندر کی فہرست کے اندر ایک اور فہرست رکھ سکتی ہے۔ تبدیلی کا مطلب ہے یہ چننا کہ اسے کیسے چپٹا کیا جائے: یا تو تہ در تہ ناموں کو جوڑ کر ایک لمبا کالم عنوان بنا دیں، یا والدین والی سطر کو ہر بچے کے لیے ایک بار دہرا دیں۔ دونوں سمجھوتے ہیں، اور کوئی بھی خودبخود واپس نہیں ہو سکتا — اسی لیے حسابی شیٹ سے اصل شکل کی طرف لوٹنے کے لیے عموماً انسانی فیصلہ درکار ہوتا ہے۔
کیا فائل کا معیار گرتا ہے؟
یہ اس پر منحصر ہے کہ دونوں صورتیں کیا سنبھال سکتی ہیں۔ ایسی صورتوں کے بیچ تبدیلی جو ایک ہی چیز رکھتی ہوں — PNG سے BMP، WAV سے FLAC — کچھ نہیں کھوتی۔ ایسی صورت میں بدلنا جو جگہ بچانے کے لیے معلومات پھینک دے، جیسے JPEG یا MP3، ہر بار تھوڑا کھوتا ہے، اور واپس بدلنے سے وہ لوٹتا نہیں۔ جہاں چناؤ ممکن ہو، یہ صفحہ سب سے چھوٹی فائل بنانے کے بجائے اصل معیار برقرار رکھنے کی طرف جھکتا ہے۔
کیا میری فائل کہیں اپ لوڈ ہوتی ہے؟
نہیں۔ تبدیلی آپ ہی کی مشین پر، آپ کے براؤزر کے اندر ہوتی ہے؛ فائل وہاں سے کبھی باہر نہیں جاتی، اور یہاں کوئی سرور ہے ہی نہیں جو اسے لے سکے۔ اسی لیے بڑی فائل کو اپ لوڈ نہیں بلکہ آپ کی اپنی یادداشت محدود کرتی ہے، اور اسی لیے جو کچھ آپ بدلتے ہیں وہ کسی کے ریکارڈ میں نہیں آ سکتا — ہمارے ریکارڈ میں بھی نہیں۔ البتہ آواز اور فلم کے اوزار پہلی بار استعمال پر اپنا تبدیلی کا انجن اِسی سائٹ سے لاتے ہیں — تقریباً تیس میگابائٹ، صرف ایک بار؛ اس کے بعد بھی کام سارا آپ ہی کی مشین پر ہوتا ہے۔
لوگ YAML کو JSON میں کیوں تبدیل کرتے ہیں
YAML وہ اندراج ہے جو لوگ تب چنتے ہیں جب انہیں ڈیٹا ہاتھ سے لکھنا ہو۔ یہ قوسین کی بجائے انڈینٹیشن استعمال کرتی ہے، تبصروں کی اجازت دیتی ہے اور تقریباً خاکے کی طرح پڑھی جاتی ہے، اسی لیے یہ ترتیب کے لیے پسندیدہ بن گئی: بلڈ پائپ لائن، کنٹینر کی تعریفیں، تعیناتی کی فائلیں، اسٹیٹک سائٹ کی سیٹنگز، دستاویزی اوزار اور بے شمار ایپلیکیشن کی ترتیبیں۔ JSON وہ اندراج ہے جسے پروگرام وصول کرنا پسند کرتے ہیں۔ یہ سخت ہے، اس میں تبصرے نہیں، اور ہر پروگرامنگ زبان اسے معیاری لائبریری سے پڑھ سکتی ہے۔ جب انسانوں کے لیے لکھی فائل کو ایسے پروگرام، API یا اوزار کو سونپنا ہو جو صرف JSON قبول کرتا ہے تو تبدیلی کی ضرورت پڑتی ہے۔ اسی لیے لوگ YAML کو JSON میں تبدیل کرتے ہیں: ان کے پاس ڈیٹا اس شکل میں ہے جو لکھنے میں خوشگوار ہے، اور منزل وہ شکل چاہتی ہے جسے تجزیہ کرنا آسان ہو۔
صورتیں روزمرہ کی ہیں۔ ڈویلپر جو YAML میں ترتیب سنبھالتا ہے اور اسے خدمت کو JSON کے طور پر بھیجنا ہے۔ ٹیم جو سیٹنگز فائل کو ایسے اوزار سے جانچنا چاہتی ہے جو JSON چیک کرتا ہے۔ لکھنے والا جس کے پاس YAML میں فرنٹ میٹر ہے اور جو اسے اسکرپٹ کو کھلانا چاہتا ہے۔ طالب علم جو دیکھنا چاہتا ہے کہ YAML فائل کا انڈینٹیشن قوسین پر کیسے نقش ہوتا ہے۔ ہر صورت میں ڈیٹا وہی ہے، اور صرف اندراج بدلتا ہے۔
یہ صفحہ آپ کے براؤزر میں YAML کو JSON میں تبدیل کرتا ہے۔ آپ کی فائل یہیں پڑھی اور لکھی جاتی ہے، اس لیے یہ آپ کے آلے سے کبھی باہر نہیں جاتی، جو ترتیب کی فائلوں کے لیے اہم ہے، جو اکثر پتے، اندرونی نظاموں کے نام اور کبھی کبھی راز رکھتی ہیں۔ اور صفحہ پہلے سے بتاتا ہے کہ گزر کیا رکھتا ہے اور کیا نہیں رکھ سکتا، بجائے اس کے کہ آپ کو خود دریافت کرنے کے لیے چھوڑ دے۔ نیچے آپ کو ملے گا کہ تبدیلی کیسے کام کرتی ہے، تبصروں کے ساتھ کیا کھوتا ہے اور تاریخوں اور ٹیگوں سے کیا توقع رکھنی ہے۔
تبدیلی کیسے کام کرتی ہے
دونوں اندراجوں میں وہی شکلیں
آپ کی YAML آپ کے براؤزر کے اندر پڑھی جاتی ہے، اور اس کی ساخت JSON کے طور پر لکھی جاتی ہے۔ دونوں وہی شکلیں رکھتی ہیں: نقشے، فہرستیں، سٹرنگ، اعداد، بولین اور null بغیر نقصان کے پار جاتے ہیں۔ YAML میں میپنگ JSON میں آبجیکٹ بنتی ہے، ترتیب وار فہرست ایرے بنتی ہے، اور سکیلر قدریں اپنی اقسام رکھتی ہیں۔ port: 8080 جیسی سطر عدد دیتی ہے، اور enabled: true بولین دیتی ہے۔
اینکر اور عرف پھیلا دیے جاتے ہیں
YAML میں ایک خوبی ہے جو JSON میں نہیں: آپ بلاک کو اینکر سے نشان زد کر سکتے ہیں اور کہیں اور عرف سے اس کا حوالہ دے سکتے ہیں، خود کو دہرانے سے بچنے کے لیے۔ اینکر اور عرف پھیلا دیے جاتے ہیں، اس لیے نتیجہ اپنے پیروں پر کھڑا ہوتا ہے۔ جہاں جہاں عرف آیا تھا اب بلاک کی مکمل نقل رکھتا ہے۔ JSON لمبی ہے، لیکن اسے پڑھنے کے لیے اینکروں کے علم کی ضرورت نہیں۔
انڈینٹیشن ساخت بنتا ہے
YAML میں ساخت انڈینٹیشن سے ظاہر ہوتی ہے۔ JSON میں قوسین اور بریکٹوں سے۔ کنورٹر انڈینٹیشن کو ویسے پڑھتا ہے جیسا مصنف کا مطلب تھا، اور آپ کے لیے قوسین لکھتا ہے۔ انڈینٹیشن کی غلطیاں، جو YAML کی سب سے عام غلطیاں ہیں، اندازہ لگانے کی بجائے رپورٹ کی جاتی ہیں۔
کیا رکھا جاتا ہے
وہ سب جو ڈیٹا ہے
سب کچھ رکھا جاتا ہے، کیونکہ دونوں وہی شکلیں رکھتی ہیں: نقشے، فہرستیں، سٹرنگ، اعداد، بولین اور null بغیر نقصان کے پار جاتے ہیں۔ اگر وہ آپ کی YAML میں قدر تھی تو JSON میں بھی قدر ہے۔
کنجیوں کی ترتیب
کنجیاں اسی ترتیب میں رہتی ہیں جس میں لکھی گئی تھیں، اس لیے JSON اسی ترتیب میں پڑھتی ہے جس میں YAML۔
کئی سطروں کی سٹرنگ
جو سٹرنگ YAML میں کئی سطروں پر پھیلی ہوں، بلاک اسٹائل سے لکھی ہوئی، وہ اکیلی سٹرنگ کے طور پر لائن بریک کے ساتھ آتی ہیں، جنہیں JSON ایسکیپ سلسلوں کے طور پر لکھتی ہے۔ متن وہی ہے۔
YAML کو JSON میں تبدیل کرنے سے پہلے آپ کو کیا جاننا چاہیے
تبصرے اور لے آؤٹ چلے جاتے ہیں
تبصرے، خالی سطریں اور اقتباس شدہ اور سادہ کے درمیان انتخاب یہ ہیں کہ YAML فائل کیسے پڑھتی ہے، یہ نہیں کہ اس کا مطلب کیا ہے، اور ان میں سے کوئی نہیں بچتا، کیونکہ JSON کے پاس انہیں رکھنے کی جگہ نہیں۔ اگر آپ کی YAML وضاحتی تبصروں سے بھری ہے تو JSON میں ان میں سے کوئی نہیں ہوگا۔ YAML کو وہ فائل رکھیے جسے لوگ پڑھتے اور ایڈٹ کرتے ہیں، اور JSON کو اخذ شدہ نقل سمجھیے۔
بغیر اقتباس کی تاریخیں متن کے طور پر آتی ہیں
بغیر اقتباس کے لکھی گئی تاریخ متن کے طور پر آتی ہے، کیونکہ JSON میں تاریخ نہیں۔ released: 2026-03-14 جیسی سطر سٹرنگ 2026-03-14 دیتی ہے۔ جو پروگرام JSON پڑھے اسے اسے تاریخ کے طور پر سمجھنا چاہیے اگر اسے تاریخ چاہیے۔
حسبِ ضرورت ٹیگ کا احترام نہیں ہوتا
حسبِ ضرورت ٹیگ کا احترام نہیں ہوتا: صرف معیاری اقسام پڑھی جاتی ہیں، جو فائل کو اس چیز کی مانگ کرنے سے بھی روکتا ہے جو اس صفحے کے پاس نہیں۔ YAML ایسے ٹیگ کی اجازت دیتی ہے جو کسی خاص پروگرام کو خاص آبجیکٹ بنانے کو کہتے ہیں۔ ایسی ہدایات کا یہاں کوئی مطلب نہیں، اور کنورٹر ان کی پیروی نہیں کرتا۔
یہاں YAML کو JSON میں کیسے تبدیل کریں
اپنی فائل شامل کیجیے
YAML فائل کو صفحے پر چھوڑیے یا اپنے آلے سے چنیے۔ یہ آپ کے براؤزر کے اندر پڑھی جاتی ہے اور اپ لوڈ نہیں ہوتی۔
تبدیل کیجیے
بٹن دبائیے۔ عام سائز کی فائل میں ایک لمحہ لگتا ہے۔ مکمل ہونے تک صفحہ کھلا رکھیے۔
ڈاؤن لوڈ کیجیے اور جانچیے
JSON ڈاؤن لوڈ کیجیے اور اسے ٹیکسٹ ایڈیٹر میں کھولیے۔ آغاز اور اختتام دیکھیے، اور جانچیے کہ ساخت اور اقسام وہ ہیں جن کی آپ کو توقع ہے۔
YAML اور JSON پر ایک قریبی نظر
ایک ہی ڈیٹا کے دو اندراج
YAML لوگوں کے لیے لکھنا اور پڑھنا آسان بنانے کے لیے ڈیزائن کی گئی۔ JSON پروگراموں کے لیے پڑھنا اور لکھنا آسان بنانے کے لیے۔ وہ اتنی دور تک ملتی ہیں کہ JSON تقریباً YAML کا ذیلی مجموعہ ہے، اور YAML قاری عموماً JSON پڑھ سکتا ہے۔ الٹ سچ نہیں، کیونکہ YAML میں زیادہ خوبیاں ہیں۔ YAML کو JSON میں تبدیل کرنا زیادہ امیر اندراج سے زیادہ سخت کی طرف جانا ہے، اور اضافی چیزیں چھوڑنا: تبصرے، اینکر اور ٹیگ۔
انڈینٹیشن کی غلطیاں کیوں اہم ہیں
چونکہ YAML انڈینٹیشن پر انحصار کرتی ہے، غلط ترتیب والی سطر مطلب بدل دیتی ہے، اور کبھی کبھی پھر بھی پارس ہو جاتی ہے۔ جو کنجی بلاک کے اندر ہونی چاہیے تھی وہ اس کے باہر ختم ہوتی ہے۔ JSON ایسی غلطیوں کو نظر آنے والا بناتی ہے، کیونکہ قوسین ٹھیک دکھاتی ہیں کہ ہر کنجی کہاں اتری۔ اس لیے تبدیلی یہ جانچنے کا آسان طریقہ بھی ہے کہ فائل کا وہی مطلب ہے جو آپ سمجھتے ہیں۔
ٹیب
YAML انڈینٹیشن کے لیے ٹیب کی اجازت نہیں دیتی۔ اگر آپ کی فائل میں ہوں تو تبدیلی مسئلہ رپورٹ کرے گی۔ ٹیبوں کو خالی جگہوں سے بدلیے اور دوبارہ کوشش کیجیے۔
عام صورتیں تفصیل میں
خدمات اور اوزار کی ترتیب
بہت سے اوزار ترتیب صرف JSON میں قبول کرتے ہیں، یا اسے JSON اسکیما کے مقابلے میں جانچتے ہیں۔ اپنی YAML تبدیل کیجیے اور نتیجہ وہاں استعمال کیجیے جہاں JSON درکار ہو۔
جانچنا کہ فائل واقعی کیا کہتی ہے
جب YAML ترتیب عجیب برتاؤ کرے تو اسے JSON میں تبدیل کرنا ساخت کو بے ابہام دکھاتا ہے۔ غلط جگہ کی کنجیاں اور غلط اقسام نمایاں ہو جاتی ہیں۔
اسکرپٹ اور API کو کھلانا
جو API JSON باڈی لیتی ہے اسے تبدیلی کے بعد YAML فائل کا مواد دیا جا سکتا ہے۔ یہ آپ کو فائل اس شکل میں رکھنے دیتا ہے جس میں آپ ایڈٹ کرنا پسند کرتے ہیں۔
دستاویزی اور مواد کی فائلیں
اسٹیٹک سائٹ جنریٹر اور دستاویزی اوزار فرنٹ میٹر اور ڈیٹا فائلوں کے لیے YAML استعمال کرتے ہیں۔ انہیں تبدیل کرنا دوسرے اوزاروں کو وہی ڈیٹا پڑھنے دیتا ہے۔
YAML کو JSON میں تبدیل کرنے سے پہلے عملی مشورہ
انڈینٹیشن جانچیے
ٹیب نہیں، خالی جگہیں استعمال کیجیے، اور ہر سطح پر وہی چوڑائی رکھیے۔ بیشتر ایڈیٹر خالی جگہ دکھا سکتے ہیں اور YAML کی غلطیاں نمایاں کر سکتے ہیں۔
جو قدریں متن رہنی چاہییں انہیں اقتباس میں رکھیے
yes، no یا 1.0 جیسی سادہ قدر بولین یا عدد کے طور پر پڑھی جا سکتی ہے۔ اگر آپ کا مطلب متن ہے تو اس کے گرد اقتباس لگائیے۔ یہ ورژن کے اعداد، کوڈ اور ممالک کے مخففات کی حفاظت کرتا ہے۔
تبصرے YAML میں رکھیے
چونکہ تبصرے نہیں بچتے، YAML کو ماسٹر رکھیے، اس کی وضاحتوں کے ساتھ، اور ضرورت پڑنے پر JSON دوبارہ بنائیے۔
بڑی فائلیں
سب کچھ آپ کے آلے پر چلتا ہے، اس لیے بہت بڑی فائل کو میموری چاہیے۔ کئی میگابائٹ کی فائلوں کے لیے کمپیوٹر استعمال کیجیے، اور اگر صفحہ مشکل میں ہو تو ڈیٹا تقسیم کیجیے۔
تبدیل کرنے سے پہلے لوگ جو پوچھتے ہیں
میرے تبصرے کہاں گئے؟
وہ چلے گئے۔ JSON کے پاس تبصرے رکھنے کی جگہ نہیں، اور وہ یہ ہیں کہ فائل کیسے پڑھتی ہے، یہ نہیں کہ اس کا مطلب کیا ہے۔
میری تاریخ سٹرنگ کیوں ہے؟
کیونکہ JSON میں تاریخ نہیں۔ بغیر اقتباس کے لکھی گئی تاریخ متن کے طور پر آتی ہے۔
اینکر اور عرف کا کیا ہوتا ہے؟
وہ پھیلا دیے جاتے ہیں، اس لیے نتیجہ اپنے پیروں پر کھڑا ہوتا ہے۔
میرا ٹیگ کام کیوں نہیں کیا؟
حسبِ ضرورت ٹیگ کا احترام نہیں ہوتا۔ صرف معیاری اقسام پڑھی جاتی ہیں۔
کیا میری فائل اپ لوڈ ہوتی ہے؟
نہیں۔ تبدیلی آپ کے براؤزر میں چلتی ہے اور فائل آپ کے آلے سے کبھی باہر نہیں جاتی۔
کیا میں واپس YAML کی طرف جا سکتا ہوں؟
جی ہاں۔ JSON سے YAML ڈیٹا کو واپس پڑھنے کے قابل شکل میں لکھتا ہے، اگرچہ ان تبصروں کے بغیر جو اصل میں تھے۔
YAML کو JSON میں تبدیل کرتے وقت سمجھداری سے چننا
کیا JSON واقعی ضروری ہے؟
اگر وصول کرنے والا اوزار YAML پڑھتا ہے تو YAML رکھیے۔ صرف تب تبدیل کیجیے جب JSON درکار ہو۔
دوسرے اہداف
اگر منزل مارک اپ فائل ہے تو JSON سے XML آگے آ سکتا ہے۔ جدولوں کے لیے JSON سے CSV اور JSON سے XLSX اسپریڈ شیٹوں کے کام آتے ہیں۔
YAML رکھیے
YAML ماسٹر ہے، اپنے تبصروں اور لے آؤٹ کے ساتھ۔ اسے رکھیے، اور JSON کو نقل سمجھیے۔
تبدیلی کے بعد اچھا نتیجہ پانا
JSON کو ویوئر میں جانچیے
نتیجہ ایسے ایڈیٹر میں کھولیے جو JSON سمجھتا ہو اور آبجیکٹ سمیٹ دیجیے۔ اگر ساخت ویسی لگے جیسی آپ کو توقع ہے تو وہ درست ہے۔
اقسام جانچیے
ورژن، کوڈ اور جھنڈوں جیسی قدروں کو دیکھیے۔ یقینی بنائیے کہ جہاں آپ کا مطلب سٹرنگ تھا وہاں سٹرنگ ہیں اور جہاں اعداد تھا وہاں اعداد۔
ترسیل کے لیے چھوٹا کیجیے
اگر JSON نیٹ ورک پر بھیجی جائے گی تو ایسے اوزار موجود ہیں جو خالی جگہ ہٹا کر اسے ہلکا کرتے ہیں۔ ڈیٹا وہی رہتا ہے۔
اپنی YAML اس طرح تیار کرنا کہ وہ اچھی تبدیل ہو
اسے سادہ رکھیے
جب آپ YAML کو JSON میں تبدیل کریں تو سادہ YAML بہترین تبدیل ہوتی ہے: نقشے، فہرستیں اور سادہ قدریں۔ حسبِ ضرورت ٹیگ جیسی خوبیاں نظرانداز ہوتی ہیں، اور اینکر صرف فائل کو لمبا کرتے ہیں۔
اقسام کے بارے میں صریح رہیے
جو بھی چیز دوسری قسم جیسی لگے اسے اقتباس میں رکھیے۔ صریح ہونا چالاک ہونے سے محفوظ ہے، اور JSON ٹھیک وہی لے جائے گی جو آپ نے لکھا۔
پہلے چھوٹے ٹکڑے سے آزمائیے
اگر آپ کی فائل بڑی ہے تو ایک حصہ ٹیسٹ فائل میں لے لیجیے اور اسے تبدیل کیجیے۔ نتیجے پر ایک فوری نظر دکھاتی ہے کہ ساخت وہی ہے جس کی آپ کو توقع ہے یا نہیں۔
YAML کو JSON میں تبدیل کرتے وقت زیادہ سے زیادہ فائدہ
تبدیلی کو جانچ کے طور پر استعمال کیجیے
صفحے کے بہترین استعمالوں میں سے ایک آئینے کے طور پر ہے۔ جب آپ YAML کو JSON میں تبدیل کرتے ہیں تو قوسین ٹھیک دکھاتی ہیں کہ انڈینٹیشن کو کیسے سمجھا گیا۔ اگر کوئی کنجی غلط سطح پر بیٹھی ہے، یا فہرست نے ایسا اندراج نگل لیا جو نہیں نگلنا چاہیے تھا، تو نتیجے میں صاف نظر آتا ہے۔ بہت سے لوگ ترتیب کو محض یہ تصدیق کرنے کے لیے تبدیل کرتے ہیں کہ وہ وہی کہتی ہے جو ان کا مطلب تھا۔
عام اقسام کی حیرتوں پر نظر رکھیے
YAML کچھ سادہ الفاظ کو دوسری اقسام کے طور پر پڑھتی ہے۔ لفظ no کو false پڑھا جا سکتا ہے، 1.10 جیسا ورژن عدد 1.1 کے طور پر، اور NO جیسا ملک کا کوڈ کچھ قاریوں میں بولین کے طور پر۔ کنورٹر معیاری اقسام کی پیروی کرتا ہے، اس لیے جو قدریں اعداد یا بولین جیسی لگتی ہیں انہیں ویسی ہی قسم دی جائے گی۔ اگر آپ چاہتے ہیں کہ وہ متن رہیں تو تبدیل کرنے سے پہلے YAML میں ان کے گرد اقتباس لگائیے۔
لمبی سٹرنگ اور بلاک اسٹائل
YAML لمبے متن کے لیے بلاک اسٹائل پیش کرتی ہے، ایک جو لائن بریک رکھتا ہے اور ایک جو انہیں خالی جگہوں میں تہہ کر دیتا ہے۔ دونوں ویسے پڑھے جاتے ہیں جیسا شکل کے مصنفین کا مقصد تھا، اور نتیجے کی سٹرنگ JSON میں لائن بریک کے ساتھ ایسکیپ سلسلوں کے طور پر لکھی جاتی ہے۔ متن وہی ہے، اور JSON انسان کے لیے محض کم خوشگوار پڑھنے کی ہے، جو YAML کے وجود کی وجہ ہے۔
ایک فائل میں کئی دستاویزات
YAML ایک فائل میں ایک سے زیادہ دستاویز کی اجازت دیتی ہے، جو تین لکیروں سے الگ ہوتی ہیں۔ اگر آپ کی فائل میں کئی ہیں تو سوچیے کہ آپ کو کون سی چاہیے۔ انہیں الگ فائلوں میں تقسیم کیجیے اور ہر ایک کو تبدیل کیجیے، تاکہ ہر JSON فائل ایک دستاویز رکھے۔
ترتیب میں راز
ترتیب کی فائلوں میں کبھی کبھی پاس ورڈ، ٹوکن اور چابیاں ہوتی ہیں۔ چونکہ تبدیلی آپ کے براؤزر میں ہوتی ہے، کچھ کہیں نہیں بھیجا جاتا۔ پھر بھی تبدیل شدہ فائل کو مشترکہ فولڈر یا ای میل میں نہ چھوڑیے، اور آگے دینے سے پہلے راز ہٹا دیجیے۔
دونوں شکلوں کو ہم قدم رکھنا
اگر کسی پروجیکٹ کو ایک ہی ڈیٹا کے YAML اور JSON دونوں ورژن چاہییں تو ایک کو ماخذ سمجھیے اور جب بھی وہ بدلے دوسرا دوبارہ بنائیے۔ جب بھی آپ YAML کو JSON میں تبدیل کریں، موجودہ YAML سے کیجیے، اور JSON کو ہاتھ سے پیوند نہ لگائیے۔ اس طرح دونوں الگ نہیں ہو سکتے۔
اسکیما کے مقابلے میں جانچ
بہت سے اوزار JSON کو اسکیما کے مقابلے میں جانچتے ہیں، اس بیان کے کہ کون سی کنجیاں اور اقسام جائز ہیں۔ YAML ترتیب کو ہمیشہ براہِ راست نہیں جانچا جا سکتا، لیکن اس کی JSON شکل جانچی جا سکتی ہے۔ یہ YAML کو JSON میں تبدیل کرنے کی عام وجہ ہے: فائل کو اس نظام تک پہنچنے سے پہلے جانچنا جو اسے مسترد کر دیتا۔
رازداری اور ہینڈلنگ
ترتیب کے لیے مقامی تبدیلی کیوں اہم ہے
ترتیب کی فائلیں اکثر پتے، اندرونی نظاموں کے نام اور کبھی کبھی چابیاں اور پاس ورڈ رکھتی ہیں۔ بہت سے آن لائن کنورٹر آپ کی فائل سرور پر اپ لوڈ کرتے ہیں، اسے پروسیس کرتے ہیں اور نتیجہ واپس بھیجتے ہیں، اور کچھ دیر کے لیے ایک نقل ایسی مشین پر رہتی ہے جسے آپ قابو نہیں کرتے۔ یہاں آپ کا اپنا براؤزر کام کرتا ہے، اس لیے فائل آپ کے آلے پر رہتی ہے۔
جب آپ چھوڑ دیں تو کیا ہوتا ہے
جب آپ صفحہ بند کرتے ہیں تو تبدیل شدہ فائل براؤزر سے غائب ہو جاتی ہے، اس لیے پہلے اسے ڈاؤن لوڈ کیجیے۔ آپ کی فائل کے بارے میں کچھ نہیں رکھا جاتا۔
اگر کچھ غلط ہو جائے
صفحہ YAML کی غلطی بتاتا ہے
اس سطر کو دیکھیے جس کی طرف وہ اشارہ کرتا ہے۔ عام وجوہات ہیں انڈینٹیشن کے لیے ٹیب، کولن کے بعد خالی جگہ کا نہ ہونا، یا ایسا اقتباس جو بند نہیں ہوتا۔
ساخت وہ نہیں جس کی مجھے توقع تھی
انڈینٹیشن جانچیے۔ ایک خالی جگہ غلط سطر آپ کے ارادے سے مختلف بلاک سے تعلق رکھتی ہے۔
بڑی فائل کے ساتھ صفحہ جم جاتا ہے
سب کچھ آپ کے آلے پر چلتا ہے، اور بڑی فائل کو میموری چاہیے۔ کمپیوٹر پر دوبارہ کوشش کیجیے، یا ڈیٹا تقسیم کیجیے۔
متعلقہ اوزار
اوزاروں کا یہی خاندان پڑوسی کاموں کا احاطہ کرتا ہے۔ واپس جانے کے لیے JSON سے YAML استعمال کیجیے۔ مارک اپ کے لیے XML سے JSON اور JSON سے XML ان دونوں کے درمیان بدلتے ہیں۔ جدولوں کے لیے JSON سے CSV، CSV سے JSON، JSON سے XLSX اور XLSX سے JSON ہیں۔
ایک حل شدہ مثال
فرض کیجیے آپ کی ٹیم ایپلیکیشن کی سیٹنگز تبصروں، دہرائے گئے بلاکوں کے لیے اینکروں اور ریلیز کی تاریخ والی YAML فائل میں رکھتی ہے، اور مانیٹرنگ کا اوزار وہی سیٹنگز JSON کے طور پر چاہتا ہے۔ آپ فائل یہاں چھوڑتے ہیں اور بٹن دباتے ہیں۔ ایک لمحے بعد آپ ایسی JSON ڈاؤن لوڈ کرتے ہیں جس میں اینکر پھیلے ہوئے ہیں، تاریخ سٹرنگ ہے اور تبصرے غائب۔ آپ اسے اوزار کو بھیجتے ہیں۔ YAML آپ کے ریپوزٹری میں، اپنے تبصروں کے ساتھ، اس فائل کے طور پر رہتی ہے جسے لوگ ایڈٹ کرتے ہیں۔
ایک مختصر چیک لسٹ
تبدیل کرنے سے پہلے
انڈینٹیشن جانچیے۔ جو قدریں متن رہنی چاہییں انہیں اقتباس میں رکھیے۔ YAML رکھیے۔
تبدیل کرتے وقت
فائل تیار ہونے تک صفحے پر رہیے۔
تبدیل کرنے کے بعد
JSON کھولیے، ساخت اور اقسام جانچیے، اور اسے اس اوزار سے آزمائیے جو اسے پڑھے گا۔
عام غلطیاں
تبصروں کے بچنے کی توقع
وہ نہیں بچتے۔ وضاحتوں کے لیے YAML رکھیے۔
مبہم قدروں کو سادہ چھوڑنا
yes، no اور 1.0 جیسی قدریں دوسری قسم کے طور پر پڑھی جا سکتی ہیں۔ انہیں اقتباس میں رکھیے۔
ٹیب استعمال کرنا
YAML انڈینٹیشن کے لیے ٹیب کی اجازت نہیں دیتی۔ خالی جگہیں استعمال کیجیے۔
آپ کی فائل آپ کے آلے پر رہتی ہے
تبدیلی مقامی طور پر ہوتی ہے۔ آپ کی فائل آپ کا اپنا براؤزر پڑھتا ہے، وہیں دوبارہ لکھتا ہے اور JSON کے طور پر واپس دے دیتا ہے۔ کچھ اپ لوڈ نہیں ہوتا، اس لیے سرور پر کوئی نقل نہیں رہتی اور کوئی اور اسے نہیں پڑھ سکتا۔ نجی مواد والی ترتیب کے لیے YAML کو JSON میں تبدیل کرنے کا یہی محفوظ طریقہ ہے۔
خلاصہ
یہاں YAML کو JSON میں تبدیل کرنے کے لیے فائل چھوڑیے اور بٹن دبائیے۔ یہ آپ کے براؤزر میں پڑھی اور لکھی جاتی ہے، اس لیے فائل آپ کے آلے سے کبھی باہر نہیں جاتی۔ سب کچھ رکھا جاتا ہے، کیونکہ دونوں وہی شکلیں رکھتی ہیں: نقشے، فہرستیں، سٹرنگ، اعداد، بولین اور null بغیر نقصان کے پار جاتے ہیں۔ اینکر اور عرف پھیلا دیے جاتے ہیں، اس لیے نتیجہ اپنے پیروں پر کھڑا ہوتا ہے۔ تبصرے، خالی سطریں اور اقتباس شدہ اور سادہ کے درمیان انتخاب یہ ہیں کہ YAML فائل کیسے پڑھتی ہے، یہ نہیں کہ اس کا مطلب کیا ہے، اور ان میں سے کوئی نہیں بچتا، کیونکہ JSON کے پاس انہیں رکھنے کی جگہ نہیں۔ بغیر اقتباس کے لکھی گئی تاریخ متن کے طور پر آتی ہے، کیونکہ JSON میں تاریخ نہیں۔ حسبِ ضرورت ٹیگ کا احترام نہیں ہوتا: صرف معیاری اقسام پڑھی جاتی ہیں۔