TOML سے JSON کنورٹر

بائیں طرف TOML پیسٹ کریں، دائیں طرف JSON حاصل کریں۔ ٹیبلز آبجیکٹ بن جاتی ہیں، ٹیبل ایرے ایرے بن جاتی ہیں۔ کوئی اپ لوڈ نہیں۔

  1. بائیں ٹیکسٹ ایریا میں اپنا TOML پیسٹ کریں۔
  2. "JSON میں تبدیل کریں" پر کلک کریں۔ آؤٹ پٹ ٹیبل نیسٹنگ محفوظ رکھنے والا JSON آبجیکٹ ہے۔
  3. نتیجہ کاپی کریں یا data.json کے طور پر ڈاؤن لوڈ کریں۔
  4. ڈیٹ ٹائم اقدار ISO 8601 سٹرنگز میں تبدیل ہوتی ہیں؛ نمبروں میں انڈر سکورز ہٹا دیے جاتے ہیں۔
یہ کیا کرتا ہے؟

TOML 1.0 دستاویز کو JSON آبجیکٹ میں پارس کرتا ہے۔ `[section]` ٹیبلز نیسٹڈ آبجیکٹس بن جاتے ہیں؛ `[[items]]` ٹیبل ایرے JSON ایرے بن جاتے ہیں۔ سٹرنگز، انٹیجرز (ہیکس/آکٹل/بائنری لٹرلز اور ہندسے گروپنگ انڈر سکورز سمیت)، فلوٹس، بولینز، تاریخیں، ڈیٹ ٹائم اور وقت سب JSON-مساوی نمائندگیوں سے میپ ہوتے ہیں۔ ان لائن ٹیبلز اور ان لائن ایرے اسی طریقے سے چپٹے کیے جاتے ہیں۔

مثال

TOML ان پٹ:

name = "Ada"
active = true

[address]
city = "London"

JSON آؤٹ پٹ:

{
  "name": "Ada",
  "active": true,
  "address": {
    "city": "London"
  }
}

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

TOML کے کچھ مقامات پر YAML یا JSON سے زیادہ سخت قواعد ہیں۔ ذیل کے پیٹرنز زیادہ تر پارسر ناکامیوں کا احاطہ کرتے ہیں۔

  • بغیر کوٹ کے سٹرنگز۔ `name = Ada` غلط ہے — ننگی اقدار کو کلیدوں/بولینز/نمبروں کے طور پر سمجھا جاتا ہے، سٹرنگز کے طور پر نہیں۔ ڈبل کوٹس استعمال کریں: `name = "Ada"`۔
  • مخلوط قسم کے ایرے (TOML 0.x)۔ TOML 0.5 نے ایرے میں مخلوط اقسام پر پابندی لگائی؛ TOML 1.0 انہیں اجازت دیتا ہے۔ @iarna/toml 1.0 کی پیروی کرتا ہے، لہذا `[1, "two"]` یہاں درست ہے۔ اگر آپ کا TOML 0.5 ٹولنگ کے ذریعے راؤنڈ-ٹرپ کرے، ایرے کو یکساں رکھیں۔
  • ٹیبل کو دوبارہ تعریف کرنا۔ `[a]` کو دو بار تعریف کرنا غلطی ہے۔ ہر ٹیبل ہیڈر زیادہ سے زیادہ ایک بار ظاہر ہونا چاہیے۔ کیز کو ایک واحد `[a]` بلاک میں ضم کریں۔
  • ٹائم زون کے بغیر ڈیٹ ٹائم۔ `d = 2026-04-26T12:00:00` (کوئی Z یا آفسیٹ نہیں) "مقامی ڈیٹ ٹائم" ہے — یہ پارس ہوتی ہے، لیکن JSON میں مقامیت کا تصور نہیں۔ آؤٹ پٹ وال-کلاک وقت کے ساتھ ایک ہی سٹرنگ ہے، UTC لمحہ نہیں۔ UTC کے لیے `Z` شامل کریں: `d = 2026-04-26T12:00:00Z`۔
  • ٹرپل-کوٹ ایسکیپ الجھن۔ TOML بنیادی ملٹی-لائن سٹرنگز `"""..."""` استعمال کرتی ہیں اور ایسکیپ پراسیس کرتی ہیں؛ لٹرل ملٹی-لائن سٹرنگز `\'\'\'...\'\'\'` استعمال کرتی ہیں اور نہیں کرتیں۔ ایسکیپ قواعد کو ملانا سب سے عام ملٹی-لائن سٹرنگ غلطی ہے۔
  • ان لائن ٹیبل توسیع۔ ان لائن ٹیبل `point = {x=1, y=2}` بند اور خود مکمل ہے — آپ بعد میں `[point.z]` یا `point.z = 3` نہیں لکھ سکتے۔ توسیع کے لیے، اس کے بجائے معیاری `[point]` بلاک سنٹیکس استعمال کریں۔
اکثر پوچھے جانے والے سوالات

JSON میں ڈیٹ ٹائم کیسے دکھائے جاتے ہیں؟

JSON میں نیٹیو ڈیٹ ٹائم قسم نہیں ہے، لہذا اقدار ISO 8601 سٹرنگز بن جاتی ہیں۔ آفسیٹ ڈیٹ ٹائم (`2026-04-26T12:00:00Z`) اور مقامی ڈیٹ ٹائم (`2026-04-26T12:00:00`) دونوں لفظی طور پر سٹرنگیفائی ہوتے ہیں — لیکن صرف آفسیٹ فارم JSON میں واضح ہے۔

کیا انٹیجر انڈر سکورز محفوظ ہیں؟

نہیں — TOML پڑھنے کی آسانی کے لیے `1_000_000` کی اجازت دیتا ہے؛ پارسر انڈر سکورز ہٹا دیتا ہے اور JSON ویلیو `1000000` ہوتی ہے۔ گروپنگ خالصتاً TOML سورس-ٹیکسٹ خصوصیت ہے۔

TOML تبصروں کا کیا ہوتا ہے؟

انہیں ضائع کر دیا جاتا ہے۔ TOML تبصرے `#` سے شروع ہوتے ہیں؛ JSON میں کوئی تبصرہ سنٹیکس نہیں، لہذا پارسر انہیں رد کر دیتا ہے۔ اگر آپ کو انہیں محفوظ رکھنے کی ضرورت ہو، تو آپ کو ایک مختلف انٹرمیڈیٹ فارمیٹ کی ضرورت ہوگی۔

کیا ٹیبلز کے ایرے سپورٹ ہیں؟

جی ہاں۔ بار بار دہرائے گئے `[[products]]` بلاکس `products` کلید کے تحت JSON ایرے بن جاتے ہیں۔ ہر `[[products]]` ہیڈر ایک نئی ایرے انٹری متعارف کراتا ہے؛ بعد کی کلید-ویلیو لائنیں اس انٹری کو پُر کرتی ہیں۔

کیا میں واقعی بڑی TOML فائلیں تبدیل کر سکتا ہوں؟

ٹیکسٹ ایریا کے سست ہونے سے پہلے تقریباً 30 MB تک۔ بہت بڑی TOML فائلیں نایاب ہیں — زیادہ تر کنفگ فائلیں 1 MB سے کافی نیچے ہیں۔

کیا میرا TOML اپ لوڈ ہوتا ہے؟

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