JSON سے YAML کنورٹر

بائیں طرف JSON پیسٹ کریں، دائیں طرف صاف YAML 1.2 حاصل کریں۔ آپ کے براؤزر میں چلتا ہے — کوئی اپ لوڈ نہیں۔

  1. بائیں ٹیکسٹ ایریا میں JSON پیسٹ کریں۔
  2. "YAML میں تبدیل کریں" پر کلک کریں۔ YAML آؤٹ پٹ دائیں طرف ظاہر ہوتا ہے۔
  3. نتیجہ کاپی کریں یا data.yaml کے طور پر محفوظ کرنے کے لیے Download پر کلک کریں۔
  4. اگر JSON غلط ہو، تو ایرر پیغام غلط مقام کی نشاندہی کرتا ہے۔
یہ کیا کرتا ہے؟

JSON کو مساوی YAML 1.2 میں تبدیل کرتا ہے۔ آبجیکٹس میپنگز بنتے ہیں، ایرے سیکوینسز بنتے ہیں، اور نمبر/بولین/null/سٹرنگ اپنی قسم برقرار رکھتے ہیں۔ آؤٹ پٹ بطور ڈیفالٹ 2-اسپیس انڈینٹیشن اور 100-کالم لائن چوڑائی استعمال کرتا ہے۔ JSON → YAML → JSON راؤنڈ-ٹرپ معنوی طور پر ایک جیسا ڈیٹا دیتا ہے، تاہم تبصرے اور ترتیب کی باریکیاں JSON-سائڈ کی حدود ہیں جن کا خیال رکھنا چاہیے۔

مثال

JSON ان پٹ:

{"name":"Ada","tags":["math","logic"],"active":true}

YAML آؤٹ پٹ:

name: Ada
tags:
  - math
  - logic
active: true

عام JSON غلطیاں اور انہیں کیسے ٹھیک کریں

یہ ٹول YAML میں تبدیل کرنے سے پہلے JSON کا درست ہونا ضروری ہے۔ پارسر کسی بھی ناکامی کی لائن اور کالم کی نشاندہی کرتا ہے — یہ پیٹرنز تقریباً ہر "غلط JSON" غلطی کا سبب ہوتے ہیں۔

  • ٹریلنگ کاما۔ `{"a": 1, "b": 2,}` غلط ہے۔ JSON آبجیکٹ یا ایرے کے آخری عنصر کے بعد کاما کی اجازت نہیں دیتا۔
  • سنگل کوٹس۔ `{'a': 1}` غلط ہے۔ JSON سٹرنگز اور کیز کو ڈبل کوٹس استعمال کرنے ہوں گے۔
  • بغیر کوٹ کی کیز۔ `{a: 1}` غلط ہے — JavaScript آبجیکٹ لٹرلز اس کی اجازت دیتے ہیں، JSON نہیں۔ کلید کو ڈبل کوٹس میں لپیٹیں۔
  • تبصرے۔ سخت JSON میں // یا /* */ تبصروں کی اجازت نہیں۔ تبدیل کرنے سے پہلے انہیں ہٹائیں، یا YAML آؤٹ پٹ استعمال کریں (جو # تبصروں کا حمایت کرتا ہے) اور نیم-دستی طور پر پیسٹ کریں۔
  • سمارٹ کوٹس۔ ورڈ پروسیسر سے کاپی-پیسٹ کبھی کبھی " کو خمدار کوٹس سے بدل دیتا ہے — JSON انہیں رد کرتا ہے۔ دوبارہ ٹائپ کریں یا پلین-ٹیکسٹ ایڈیٹر کے ذریعے پیسٹ کریں۔
  • NaN / Infinity۔ JSON میں NaN، Infinity یا -Infinity کے لیے کوئی نمائندگی نہیں ہے۔ اگر آپ کے ڈیٹا میں موجود ہوں، انتخاب کریں: null کے طور پر سیریلائز کریں (معلومات کھو جاتی ہے) یا سٹرنگ "NaN" کے طور پر (ارادہ محفوظ رکھتا ہے لیکن قسم بدلتا ہے)۔
اکثر پوچھے جانے والے سوالات

میرے YAML آؤٹ پٹ میں تبصرے کیوں نہیں ہیں؟

JSON میں تبصرہ سنٹیکس نہیں ہے، اس لیے منتقل کرنے کے لیے کوئی تبصرے نہیں۔ تبصرہ شدہ YAML چاہیے تو تبدیلی کے بعد آؤٹ پٹ کو ہاتھ سے ترمیم کریں۔ کچھ ٹیمیں JSON میں `_comment` فیلڈ کے طور پر تبصرے انکوڈ کرتی ہیں، لیکن وہ YAML میں عام کیز بن جاتی ہیں — حقیقی تبصرے نہیں۔

کیا میری کیز کا ترتیب محفوظ رہے گا؟

جی ہاں۔ JSON آبجیکٹ کی کیز کا ترتیب YAML میپنگ ترتیب کے طور پر محفوظ رہتا ہے — جدید براؤزرز میں JSON.parse + JSON.stringify کی طرح، جو انسرشن ترتیب رکھتے ہیں۔ حروف تہجی کی ترتیب چاہیے، تو پہلے JSON کو ترتیب دیں۔

گہرائی سے نیسٹڈ ڈھانچے کیسے فارمیٹ ہوتے ہیں؟

YAML آؤٹ پٹ ہر سطح پر 2-اسپیس انڈینٹیشن استعمال کرتا ہے، بلاک سٹائل میں سیکوینسز کے ساتھ (فی لائن ایک آئٹم، `-` سے شروع)۔ خالی آبجیکٹس اور ایرے بالترتیب `{}` اور `[]` کے طور پر رینڈر ہوتے ہیں — فلو سٹائل، کیونکہ خالی کے لیے بلاک سٹائل مبہم ہوگا۔

کیا یہ بائنری ڈیٹا کا حمایت کرتا ہے؟

JSON میں نیٹیو بائنری قسم نہیں ہے، اس لیے بائنری عام طور پر ان پٹ میں پہلے سے ہی base64 سٹرنگ کے طور پر انکوڈ ہوتا ہے۔ آؤٹ پٹ YAML اس سٹرنگ کو محفوظ رکھتا ہے۔ اگر آپ کو واقعی YAML بائنری فارمیٹ (`!!binary`) چاہیے، تبدیلی اسے پیدا نہیں کرتی — base64 سٹرنگ کا طریقہ رکھیں۔

کیا یہ API کلیدوں جیسے حساس JSON کے لیے محفوظ ہے؟

جی ہاں۔ سب کچھ آپ کے براؤزر میں چلتا ہے۔ آپ کا ان پٹ اس صفحے کے JavaScript کے ذریعے پارس اور کنورٹ ہوتا ہے؛ کسی سرور سے رابطہ نہیں کیا جاتا۔ براؤزر ڈویلپر ٹولز میں تصدیق کریں — Convert پر کلک کرنے پر صفر نیٹ ورک درخواستیں۔

کیا میں JSON → YAML → JSON راؤنڈ-ٹرپ کر سکتا ہوں؟

ڈیٹا کے لیے، جی ہاں — معنویات محفوظ ہیں۔ بالکل بائٹ-مساوی متن کے لیے، نہیں — وائٹ سپیس اور اقتباس معیاری ہو جاتے ہیں۔ اگر مستحکم کینونیکل شکل چاہیے تو پیسٹ سے پہلے ترتیب شدہ کیز کے ساتھ JSON.stringify چلائیں۔