محوّل جيسون إلى TOML

الصق كائن JSON واحصل على البيانات نفسها بصيغة TOML، وهي صيغة كثير من ملفات الإعدادات. وتخبرك الأداة أيضاً بما لا تستطيع TOML حمله، مثل null، واسم المكان الذي يظهر فيه.

مجانية تعمل داخل متصفحك آخر مراجعة: الأربعاء، 1 جمادى الآخرة 1448 بعد الهجرة

نص JSON كاملاً. يجب أن يكون كائناً، بأقواس معقوفة في الأعلى. تحتفظ الأسماء بترتيبها، وتحتفظ الأعداد بأرقامها. لا يُرسل شيء ولا يُخزَّن.

النتيجة

TOML — انسخه، أو نزّله ملفاً باسم config.toml.
الفحص — أخضر عندما يتحول JSON، وأحمر يذكر المكان والسبب.
TOML

تعمل هذه الأداة داخل متصفحك. ما تكتبه فيها لا يُرسل إلينا.

طريقة الاستخدام

  1. الصق كائن JSON في كائن JSON. يجب أن يكون النص كله كائناً واحداً بأقواس معقوفة في الأعلى.
  2. اقرأ الفحص. الأخضر يعني أن الكائن تحوّل، والأحمر يذكر الاسم الذي فيه المشكلة والسبب.
  3. انسخ مخرج TOML إلى ملف، أو نزّله ملفاً باسم config.toml.

كيف يُكتب TOML

تُكتب قيم كل جدول أولاً، ثم تأتي جداوله الفرعية بعدها. وتحتاج TOML إلى هذا الترتيب، لأن قيم الجدول يجب أن تسبق الترويسات التي تفتح جداوله الفرعية. وتحتفظ الأسماء بترتيبها في JSON.

  • الكائن داخل كائن يصبح جدولاً له ترويسة خاصة، مثل [owner]، وتأتي قيمه بعد الترويسة.
  • قائمة الكائنات تصبح مصفوفة من الجداول: قسم لكل كائن، وترويسته بين قوسين مزدوجين.
  • قائمة الأعداد أو النصوص تبقى في سطر واحد بين أقواس مربعة، وهذا ما تسمح به TOML.
  • العدد الذي فيه نقطة أو أس يُكتب عدداً عشرياً، فيبقى 1.0 كما هو. والعدد الذي لا يحمل أياً منهما يُكتب عدداً صحيحاً.

ما الذي لا تستطيع TOML حمله

  • القيمة null. لا تملك TOML قيمة null، لذلك يوقف الاسم الذي يحملها التحويل، ويُذكر في الرسالة. احذف الاسم أو أعطه قيمة.
  • عدد صحيح خارج النطاق الموقّع 64 بت. يسمح JSON بأي حجم، لكن TOML تتوقف عند 9223372036854775807.
  • مستوى أعلى يكون قائمة أو قيمة مفردة. مستند TOML دائماً جدول، لذلك يجب أن يكون JSON كائناً.

الأسماء التي تحتاج إلى علامات اقتباس

الاسم المكوّن من حروف وأرقام وشرطات سفلية وشرطات عادية يُكتب كما هو. أما أي اسم آخر، مثل اسم فيه مسافة أو نقطة، فيُكتب بين علامتي اقتباس مزدوجتين، وكذلك الاسم الفارغ. وتُهرَّب علامات الاقتباس والشرطات المائلة العكسية ورموز التحكم في النص كما تقتضي TOML.

مثال محلول: قائمة وعدد عشري وكائن

يحمل JSON التالي قيمة من كل نوع تكتبه الأداة. يعطي كل صف قيمة JSON والسطر الذي تصبح إليه في TOML.

قيمة JSON سطر TOML
"ports": [8000, 8001] ports = [8000, 8001]
"ratio": 1.0 ratio = 1.0
"owner": {"name": "Ada"} [owner], then name = "Ada"

الأسئلة الشائعة

لماذا تأتي قيم الجدول قبل جداوله الفرعية؟

تحتاج TOML إلى أن تأتي قيم كل جدول قبل ترويسات جداوله الفرعية. وتكتب الأداة القيم أولاً، فيُقرأ الملف بشكل صحيح ويشبه الملف الذي يكتبه شخص بيده.

لماذا يُكتب عدد بالشكل 1.0 وآخر بالشكل 1؟

يُعد عدد JSON الذي فيه نقطة أو أس، مثل 1.0 أو 2e3، عدداً عشرياً في TOML، ويُعد العدد الذي لا يحمل أياً منهما عدداً صحيحاً. وتحافظ الأداة على هذا الفرق، فلا يُكتب عدد عشري أبداً كعدد صحيح.

لماذا توقف قيمة null التحويل؟

لا تملك TOML قيمة null، لذلك لا تستطيع الأداة كتابتها دون تغيير البيانات. احذف الاسم الذي يحمل القيمة null، أو أعطه قيمة مثل نص فارغ، ثم حوّل من جديد.

هل يتحول التاريخ في JSON إلى تاريخ في TOML؟

لا. التاريخ في JSON نص، والنص يبقى نصاً، فيحتفظ TOML بالتاريخ بين علامتي اقتباس. غيّر علامات الاقتباس إلى تاريخ يدوياً إن احتاج ملف TOML إلى قيمة تاريخ حقيقية.

هل يُرسل JSON الذي ألصقه إلى أي مكان؟

لا. يعمل التحويل في متصفحك، ولا يُخزَّن ما تلصقه ولا يُرسل إلينا. ومع ذلك لا تلصق كلمة مرور أو رمزاً سرياً في صفحة لا تثق بها.

المصادر

آخر مراجعة للأرقام والنص: الأربعاء، 1 جمادى الآخرة 1448 بعد الهجرة.

نستخدم ملفات تعريف ارتباط ضرورية لتشغيل الموقع. وبموافقتك، تستخدم Google أيضاً ملفات تعريف ارتباط للإعلانات، لعرض إعلانات مخصصة. وإذا رفضتها، فستظل ترى إعلانات، لكنها لن تكون مخصصة لك.