ڈویلپر ٹولز

JSON ↔ YAML کنورٹر

تہہ دار اَرے، متن اور درست اعداد کے ساتھ JSON سے YAML یا YAML سے JSON مقامی طور پر تبدیل کریں۔

درج کردہ قدریں

YAML 1.2 ڈیٹا کی تبدیلی۔ تبصرے اور فارمیٹنگ محفوظ نہیں رہتے۔ ان پٹ کی حد: 2 MiB۔

آپ کے نتائج

JSON اور YAML کو مطلوبہ ڈیٹا کی اقسام کے ساتھ تبدیل کریں

JSON سے مطابقت رکھنے والے ڈیٹا کو سخت JSON اور YAML 1.2 کی بنیادی نحو کے درمیان تبدیل کریں۔ کنورٹر بڑے صحیح اعداد سمیت JSON کی اصل عددی تحریر محفوظ کرتا ہے، بجائے پہلے JavaScript اعداد کے ذریعے اسے گول کرنے کے۔ یہ ڈیٹا کی قدریں بدلتا ہے، اصل دستاویز کی فارمیٹنگ یا ایپلیکیشن کی ترتیب کا اسکیما نہیں۔ YAML کے تبصرے، اینکرز اور پیشکش کے اختیارات JSON تبدیلی میں برقرار نہیں رہتے۔

مرحلہ وار رہنمائی

  1. متن پیسٹ کریں یا مقامی UTF-8 JSON، YAML، YML یا TXT فائل کھولیں۔ JSON → YAML یا YAML → JSON واضح طور پر منتخب کریں؛ فائل کھولنے سے سمت کی شناخت نہیں ہوتی۔
  2. دو یا چار خالی جگہیں منتخب کریں اور چاہیں تو آبجیکٹ کی کلیدیں مرتب کریں۔ ان پٹ پروسیس کریں اور نحو یا غیر معاون خصوصیت کی خرابی دور کریں۔ ترتیب اندرونی آبجیکٹس میں بھی ہوتی ہے اور بڑے چھوٹے حروف کے فرق کے ساتھ لغوی ترتیب استعمال کرتی ہے؛ ارے کی ترتیب نہیں بدلتی۔
  3. سٹرنگز، بولین قدریں، null اور اعداد دیکھیں، پھر converted.yaml یا converted.json کاپی، پرنٹ یا ڈاؤن لوڈ کریں۔ ان پٹ یا اختیارات بدلیں تو دوبارہ پروسیس کریں کیونکہ پرانا آؤٹ پٹ صاف ہو جاتا ہے۔ تبدیل شدہ فائل اس پروگرام میں جانچیں جو اسے استعمال کرے گا۔

ترتیبات اور حدود

اقسام اور دستاویز کے اصول
ایک YAML 1.2 دستاویز استعمال کریں جس میں منفرد سٹرنگ کلیدیں اور JSON سے مطابقت رکھنے والی قدریں ہوں۔ "00123" جیسے عدد نظر آنے والے شناختی نمبروں کو اقتباس میں رکھیں؛ YAML کا بغیر اقتباس 00123 عدد 123 بن جاتا ہے۔ بنیادی اصولوں میں سادہ yes، on اور ISO تاریخ کا متن سٹرنگ رہتے ہیں۔
متبادل حوالے اور غیر معاون خصوصیات
غیر دوری متبادل حوالے دہرائی گئی قدروں میں پھیل جاتے ہیں۔ دوری حوالے، دہرائی گئی کلیدیں، غیر سٹرنگ کلیدیں، غیر معاون ٹیگز اور لامتناہی اعداد یا غیر متعین عددی قدریں مسترد ہوتی ہیں۔ YAML کی یکجا کرنے کی کلیدیں لاگو نہیں ہوتیں: <<: *base عام "<<" خاصیت بنتا ہے، اس لیے مطلوبہ وراثتی فیلڈز پہلے پھیلا دیں۔
حجم اور پیچیدگی
ان پٹ کی حد 2 MiB UTF-8 متن ہے: 2,097,152 بائٹس۔ آؤٹ پٹ کی حد 8 MiB ہے۔ 128 اندرونی سطحوں، 200,000 قدر کے نوڈز یا متبادل حوالوں کے 100 دوروں سے تجاوز پر پروسیسنگ بھی رکتی ہے؛ چھوٹی فائل بھی ان حدود سے بڑھ سکتی ہے۔

عملی مثال

types-example.json ڈاؤن لوڈ کریں اور دو خالی جگہوں کے انڈینٹ اور بند ترتیب کے ساتھ JSON → YAML منتخب کریں۔ اسے تبدیل کریں اور types-example.yaml سے ملائیں۔ اقتباس میں id اور word سٹرنگ رہتے ہیں، enabled کی قدر false رہتی ہے اور retries اور large اعداد رہتے ہیں۔

مثال کی فائلیں ڈاؤن لوڈ کریں

مثال کا ان پٹ

{"id":"00123","word":"yes","enabled":false,"retries":3,"large":9007199254740993}

متوقع نتیجہ

"id": "00123"
"word": "yes"
"enabled": false
"retries": 3
"large": 9007199254740993

اب types-example.yaml کھولیں، واضح طور پر YAML → JSON پر بدلیں اور دوبارہ پروسیس کریں۔ id اب بھی "00123" اور بڑا صحیح عدد اب بھی 9007199254740993 ہونا چاہیے۔ YAML میں 00123 کے گرد اقتباس ہٹا کر دوبارہ کریں: اس کی قدر عددی 123 بن جاتی ہے۔ دونوں فائلیں درست ہوں تب بھی یہ فرق شناختی قدروں کے لیے اہم ہے۔

سوالات اور مسائل کا حل

دہرائی گئی کلیدوں والا JSON یہاں ناکام مگر دوسری جگہ فارمیٹ کیوں ہوتا ہے؟

JSON فارمیٹر دہرائی گئی کلیدوں پر انتباہ دے کر انہیں رکھ سکتا ہے۔ یہ کنورٹر انہیں مسترد کرتا ہے کیونکہ کلید اور قدر کی ساخت میں تبدیلی ان کا مطلب بدل سکتی ہے۔ طے کریں کہ اصل میں کون سی قدر ہونی چاہیے اور تبدیلی سے پہلے تکرار ہٹائیں۔

کیا تبصرے اور YAML کی وراثت برقرار رہیں گے؟

JSON میں تبصرے یا اینکرز نہیں ہوتے۔ متبادل حوالے پھیلا دیے جاتے ہیں اور یکجا کرنے کی کلیدیں وراثت کے طور پر لاگو کرنے کے بجائے لفظی برآمد ہوتی ہیں۔ مطلوبہ ڈیٹا پھیلائیں اور نتیجہ دیکھیں؛ تبدیلی ہر YAML خصوصیت کو بالکل یکساں دوبارہ نہیں لکھتی۔

کیا منزل کے پروگرام میں بڑے اعداد محفوظ ہیں؟

کنورٹر قابلِ استعمال عددی تحریر اور بڑے صحیح اعداد کی قدریں محفوظ کرتا ہے، مگر بعد کا پروگرام انہیں کم درستگی سے پڑھ سکتا ہے۔ عدد نظر آنے والی قدر شناختی نمبر ہو تو اقتباس والی سٹرنگ استعمال کریں اور منزل کے پروگرام کا تجزیہ کار آزمائیں۔