یہ ٹول کیسے کام کرتا ہے
YAML اور JSON ایک ہی شکلیں بیان کرتے ہیں — نقشے، فہرستیں اور سادہ قدریں — اس لیے ان کے درمیان بدلنا زیادہ تر لکھائی کا فرق ہے۔ سمت اسی سے پہچان لی جاتی ہے جو آپ چسپاں کریں، یا آپ خود مقرر کر سکتے ہیں۔ YAML والی طرف کی وقفہ بندی آپ کی مرضی ہے، اور کلیدیں حروفِ تہجی کے مطابق ترتیب دی جا سکتی ہیں، جو اس وقت کرنے کے قابل ہے جب نتیجہ ورژن کنٹرول میں جا رہا ہو اور آپ کو پڑھنے کے قابل فرق چاہیے۔
تبدیلی ہمیشہ دونوں طرف یکساں نہیں ہوتی، اور یہ آلہ آپ کو بعد میں پتہ چلنے دینے کے بجائے یہ بات بتا دیتا ہے: YAML میں ایسی اقسام ہیں جو JSON میں نہیں، اور جو چیز بچ نہ سکے اسے راستے کے ساتھ بتا دیا جاتا ہے۔ تاریخیں سٹرنگ بن جاتی ہیں، لامحدود قدریں null بن جاتی ہیں، اور anchor اور alias — YAML کا کسی بلاک کو دوبارہ استعمال کرنے کا طریقہ — نقلوں میں پھیلا دیے جاتے ہیں جب تک آپ انہیں برقرار نہ رکھیں، کیونکہ JSON میں ان جیسا کچھ نہیں۔
دونوں طرف کے سفر میں کیا نہیں بچتا
- تبصرے ہمیشہ ضائع ہو جاتے ہیں: JSON میں تبصرے کی کوئی نحو نہیں، اس لیے YAML فائل کے تبصرے واپس نہیں آ سکتے۔ عموماً یہی وجہ ہے کہ بدل کر واپس بدلی گئی ترتیبی فائل شروع سے بدتر ہوتی ہے۔
- anchor اور alias پھیل جاتے ہیں: تین جگہ دوبارہ استعمال ہونے والا بلاک تین نقلیں بن جاتا ہے۔ ڈیٹا ایک جیسا رہتا ہے، فائل لمبی ہو جاتی ہے اور اب ایک ہی تعریف مشترک نہیں رہتی۔
- YAML کے بغیر واوین والے بولین لوگوں کو پھنسا دیتے ہیں: yes، no، on اور off جیسے الفاظ پرانے YAML پارسر بولین سمجھ لیتے ہیں۔ جب یہ لفظ کے طور پر مراد ہوں تو انہیں واوین میں رکھیں — یہی ناروے کا مسئلہ ہے، جہاں ملک کا کوڈ NO سے false بن گیا۔
- YAML میں وقفہ بندی ہی ساخت ہے: JSON کے بریکٹوں کے برعکس، یہاں تہہ داری خالی جگہ ہی ہے۔ غلط وقفہ بندی کی ترتیب کے ساتھ بدلی ہوئی فائل درست ہوتی ہے مگر کچھ اور معنی رکھتی ہے۔