JSON کو YAML کنورٹر
JSON ڈھانچے کو صاف YAML فارمیٹ میں تبدیل کریں۔ Kubernetes مینی فیسٹس اور کلاؤڈ کنفیگس کے لیے مثالی۔
JSON ڈھانچے کو صاف YAML فارمیٹ میں تبدیل کریں۔ Kubernetes مینی فیسٹس اور کلاؤڈ کنفیگس کے لیے مثالی۔
JSON سے YAML میں جانا زیادہ تر ڈیٹا کو انسانوں کے لیے مزید پڑھنے کے قابل بنانے کے بارے میں ہے۔ دونوں فارمیٹس ایک ہی قسم کے ڈھانچے کی وضاحت کرتے ہیں — آبجیکٹ/نقشے، ارے/سیکونس، اسکیلرز — لیکن YAML کی انڈینٹیشن پر مبنی نحو، اختیاری کوٹنگ، اور تبصروں کے لیے تعاون ہاتھ سے اسکین اور ترمیم کرنا آسان بناتا ہے۔ کنفیگریشن فائلیں کینونیکل استعمال کی صورت ہیں: Kubernetes مینی فیسٹس، CI ورک فلوز، Ansible playbooks، اور درجنوں دیگر ٹولز نے YAML کو خاص طور پر اس لیے منتخب کیا کہ ان کے بنیادی ایڈیٹرز انسان ہیں۔
یہ کنورٹر ایک تجزیہ شدہ JSON آبجیکٹ کو YAML میں سیریلائز کرنے کے لیے js-yaml کا استعمال کرتا ہے۔ نتیجہ YAML کنونشنز کو لاگو کرتے وقت ڈیٹا کی ساخت کو بالکل محفوظ رکھتا ہے: گھوںسلا کے لیے انڈینٹیشن، صفوں کے لیے فہرستیں، آبجیکٹ کی خصوصیات کے لیے کلیدی قدر کے جوڑے۔ JSON کی سخت ڈبل کوٹنگ میں نرمی ہے؛ صرف سٹرنگز جن میں خاص حروف ہوتے ہیں یا جو دیگر اقسام کی طرح نظر آتے ہیں آؤٹ پٹ میں حوالہ دیا گیا ہے۔
تبدیلی معلومات کو محفوظ رکھتی ہے سوائے اس کے کہ جہاں YAML اظہار خیال کرتا ہے JSON کے پاس نہیں تھا۔ تبصرے دوبارہ نہیں بنائے جا سکتے (JSON کے پاس کوئی نہیں تھا)۔ اینکر اور عرفی حوالہ جات ممکنہ طور پر دہرائے جانے والے ڈھانچے کو سکیڑ سکتے ہیں لیکن خود بخود پیدا نہیں ہوتے ہیں۔ آؤٹ پٹ تمام حوالوں کو ان لائن پھیلاتا ہے۔
YAML انسانوں کے کنفیگریشن میں ترمیم کرنے کے لیے JSON کے مقابلے ڈرامائی طور پر زیادہ پڑھنے کے قابل ہے۔ انڈینٹیشن بریس نیسٹنگ کی جگہ لے لیتا ہے، اقتباسات سادہ تاروں کے لیے اختیاری ہیں، اور تبصرے غیر واضح ترتیبات کو دستاویز کرسکتے ہیں۔ ان فائلوں کے لیے جو انسان برقرار رکھتے ہیں — ایپلیکیشن کنفیگریشن، انفراسٹرکچر کے بطور کوڈ، پائپ لائنز کی تعمیر — YAML تقریباً ہمیشہ ہی صحیح منزل کا فارمیٹ ہوتا ہے۔
جدید انفراسٹرکچر ٹولنگ YAML کی حمایت کرتی ہے۔ Kubernetes، Helm charts، Ansible، GitHub Actions، GitLab CI، Docker Compose، اور بہت سے دوسرے ٹولز یا تو YAML کو ترجیح دیتے ہیں یا ان کی ضرورت ہوتی ہے۔ JSON برآمدات کو ایک سسٹم سے دوسرے سسٹم کے لیے YAML کنفیگریشن میں تبدیل کرنا انضمام کا ایک معمول کا مرحلہ ہے۔
JSON پیسٹ کریں، YAML حاصل کریں۔
js-yaml کا ڈمپ فنکشن جاوا اسکرپٹ آبجیکٹ ٹری پر چلتا ہے اور کنفیگر ایبل فارمیٹنگ کا استعمال کرتے ہوئے YAML کو خارج کرتا ہے۔ حاشیہ کی گہرائی، لائن کی چوڑائی، فلو اسٹائل تھریشولڈ، اور کوٹ ہینڈلنگ سبھی پیرامیٹرز ہیں۔ پہلے سے طے شدہ ترتیبات 2-اسپیس انڈینٹیشن کے ساتھ بلاک طرز کا YAML تیار کرتی ہیں، جو سب سے عام کنونشن ہے۔
سٹرنگ کوٹنگ YAML کے اصولوں کی پیروی کرتی ہے: سٹرنگ جو دوسری اقسام کی طرح نظر آتی ہے (نمبر، بولین، null، تاریخ) کو زبردستی سٹرنگ کی تشریح کے لیے حوالہ دیا جاتا ہے۔ خصوصی حروف پر مشتمل سٹرنگز (کالون، ہیشز، لیڈنگ ڈیشز) کا حوالہ دیا گیا ہے۔ سادہ حروف تہجی کے تاروں کو بغیر حوالہ چھوڑ دیا گیا ہے۔
آؤٹ پٹ YAML 1.2 مطابقت رکھتا ہے اور js-yaml، PyYAML، اور دیگر بڑی YAML لائبریریوں کے ساتھ صاف طور پر تجزیہ کرتا ہے۔ آئیڈیمپوٹینٹ راؤنڈ ٹرپس (JSON → YAML → JSON) ڈیٹا کو محفوظ رکھتے ہیں، حالانکہ YAML نمائندگی کیننیکل فارمیٹنگ کا انتخاب کرتی ہے جو ہاتھ سے لکھے گئے مساوی سے مختلف ہو سکتی ہے۔