Skip to content

محوّل TOML إلى JSON

الصق TOML واحصل على JSON فورًا في متصفحك. جاهز لملفات Cargo.toml وpyproject.toml وconfig.toml، مع معالجة دقيقة للتواريخ والجداول المتداخلة. خصوصية تامة بلا رفع.

بدون تتبّع يعمل في المتصفّح مجاني
الخيارات · مسافتان
المسافة البادئة
0 حرف
JSON إخراج
0 سطر
روجِعت للتوافق مع مواصفة TOML 1.0.0، وأمانة التاريخ والوقت، والتعامل الآمن مع الأعداد الصحيحة الكبيرة — فريق هندسة Go Tools · Jul 2, 2026

ما هو TOML ولماذا التحويل إلى JSON؟

TOML (اختصار Tom's Obvious, Minimal Language) هو صيغة ملفات إعداد أنشأها Tom Preston-Werner لتكون غير ملتبسة، وسهلة القراءة على البشر، وقابلة للتحويل بسهولة إلى جدول تجزئة. أصبحت صيغة الإعداد الافتراضية لبيئة Rust (Cargo.toml)، وتغليف Python الحديث (pyproject.toml، الموحّد في PEP 518 وPEP 621)، وأدوات مثل Hugo وNetlify وPoetry وFoundry. أما JSON فهو صيغة التبادل الآلي العالمية — كل لغة تحلّله، وكل واجهة برمجية تتكلّم به. لذا فإن تحويل TOML إلى JSON مهمة شائعة: تكتب الإعداد بصيغة TOML المقروءة، ثم تحوّله إلى JSON لتغذية برنامج، أو فحصه بأدوات JSON، أو مقارنته داخل مسار معالجة.

تملك هذه الأداة عدة عوامل تميّز تهمّ الصحة:

**1. أمانة التاريخ والوقت.** يملك TOML أنواع تاريخ ووقت من الدرجة الأولى — التاريخ والوقت مع الإزاحة، والتاريخ والوقت المحلي، والتاريخ المحلي، والوقت المحلي — يفتقر إليها JSON تمامًا. تُسطّح المحوّلات الساذجة كلها إلى طوابع زمنية ISO، فيصبح تاريخ محلي مثل 1979-05-27 هكذا 1979-05-27T00:00:00Z، مختلقةً بصمت وقتًا ومنطقة زمنية. تحافظ هذه الأداة على نوع TOML بدقة: تبقى التواريخ المحلية تواريخ تقويمية، ويبقى الوقت المحلي وقتًا، ولا تحمل المنطقة الزمنية إلا التواريخ والأوقات ذات الإزاحة. هذا يبقي بياناتك أمينة والتحويل ذهابًا وإيابًا بلا خسارة.

**2. دعم كامل لـ TOML 1.0.0.** الجداول المتداخلة والمفاتيح المنقّطة والجداول المضمّنة ومصفوفات الجداول ([[section]]) تُحلَّل جميعها بصحة وفق مواصفة TOML 1.0.0 باستخدام مكتبة smol-toml عديمة الاعتماديات. ملفات Cargo.toml وpyproject.toml الحقيقية بجداولها المضمّنة والقياسية المختلطة تُحوَّل بالضبط كما تتطلّب المواصفة.

**3. تعامل أمين مع الأعداد الصحيحة الكبيرة.** أعداد TOML الصحيحة بحجم 64 بت، لكن JavaScript في المتصفح لا يستطيع الاحتفاظ بالأعداد الصحيحة بدقة إلا حتى 2^53 - 1. بدلًا من إفساد قيمة كبيرة بصمت أو الانهيار، تحوّل هذه الأداة إلى أقرب عدد JSON وتحذّرك، فتستطيع اختيار تخزين القيمة كسلسلة نصية بدلًا من ذلك. هذه الأمانة تجاه قيد جوهري في المتصفح شيء تتجاوزه معظم المحوّلات.

**4. خصوصية بنسبة 100% داخل المتصفح.** ملف TOML الخاص بك — الذي قد يحتوي رموز سجلات أو مصادر حزم داخلية أو أسرار نشر — لا يغادر متصفحك أبدًا. لا رفع، ولا خادم، ولا تسجيل. يمكنك تأكيد ذلك في تبويب الشبكة بمتصفحك.

تحتاج الاتجاه المعاكس؟ استخدم محوّل JSON إلى TOML. تحوّل بين صيغ إعداد أخرى؟ جرّب محوّل JSON إلى YAML ومحوّل YAML إلى JSON، أو تحقّق من ناتج JSON ونسّقه أولًا بـ منسّق JSON. لكلٍّ من TOML وJSON وYAML مكانه: TOML لإعداد التطبيقات المحرَّر يدويًا، وJSON للتبادل الآلي، وYAML لمانيفستات البنية التحتية العميقة التداخل. يتيح لك هذا المحوّل الانتقال بين الأولَين دون سطر برمجي واحد.

// Convert TOML to JSON in Node.js using the smol-toml library
import { parse } from 'smol-toml';

const toml = `
[package]
name = "my-app"
version = "1.0.0"

[dependencies]
serde = { version = "1.0", features = ["derive"] }
`;

const data = parse(toml);
const json = JSON.stringify(data, null, 2);

console.log(json);
// {
//   "package": { "name": "my-app", "version": "1.0.0" },
//   "dependencies": {
//     "serde": { "version": "1.0", "features": ["derive"] }
//   }
// }

الميزات الرئيسية

تحويل مباشر

يتحدّث ناتج JSON فورًا أثناء كتابة أو لصق TOML — دون الحاجة إلى زر «تحويل». المدخلات الكبيرة (أكبر من 200 كيلوبايت) تنتقل تلقائيًا إلى الوضع اليدوي لإبقاء المتصفح مستجيبًا.

أمانة التاريخ والوقت

التواريخ والأوقات مع الإزاحة، والتواريخ والأوقات المحلية، والتواريخ المحلية، والأوقات المحلية في TOML تُحوَّل إلى سلاسل JSON تحافظ على النوع الأصلي — بلا طوابع زمنية مُختلَقة عند منتصف الليل، فيبقى التحويل ذهابًا وإيابًا بلا خسارة.

دعم كامل لـ TOML 1.0.0

الجداول المتداخلة والمفاتيح المنقّطة والجداول المضمّنة ومصفوفات الجداول ([[section]]) تُحلَّل جميعها بصحة عبر محرّك smol-toml عديم الاعتماديات، مطابقةً لمواصفة TOML 1.0.0.

جاهز لـ Cargo.toml وpyproject.toml

مُحسَّن لأكثر ملفات TOML شيوعًا في الواقع — مانيفستات Rust وإعدادات تغليف Python — بما في ذلك الجداول المضمّنة ومصفوفات الجداول. حمّل مثالًا لرؤية بنية JSON الناتجة بالضبط.

تحذيرات أمينة للأعداد الصحيحة الكبيرة

الأعداد الصحيحة خارج النطاق الآمن لـ JavaScript (2^53) لا يمكن تمثيلها بدقة في JSON — تحوّلها الأداة إلى أقرب عدد وتحذّرك، بدلًا من إفساد القيمة بصمت.

خصوصية بنسبة 100% داخل المتصفح

يجري كل التحليل محليًا في متصفحك. ملف TOML الخاص بك — بما فيه رموز السجلات ومصادر الحزم الخاصة وأسرار النشر — لا يُرفَع ولا يُخزَّن ولا يُسجَّل أبدًا.

أمثلة

ملف Cargo.toml (لغة Rust)

[package]
name = "my-app"
version = "1.0.0"
edition = "2021"
authors = ["Jane Doe <jane@example.com>"]

[dependencies]
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1", features = ["full"] }

[dev-dependencies]
criterion = "0.5"

[[bin]]
name = "my-app"
path = "src/main.rs"

حوّل ملف مانيفست Cargo.toml الخاص بلغة Rust إلى JSON — مفيد للأدوات، ولوحات متابعة الاعتماديات، أو تغذية بيانات cargo metadata إلى سكربتات تتوقع JSON.

ملف pyproject.toml (لغة Python)

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "my-package"
version = "0.3.1"
requires-python = ">=3.10"
dependencies = [
  "requests>=2.31",
  "pydantic>=2.0"
]

[project.optional-dependencies]
dev = ["pytest>=8.0", "ruff>=0.4"]

[tool.ruff]
line-length = 100

حوّل ملف pyproject.toml المتوافق مع PEP 621 إلى JSON لفحص بيانات المشروع الوصفية والاعتماديات وإعدادات الأدوات برمجيًا.

ملف netlify.toml

[build]
command = "npm run build"
publish = "dist"

[build.environment]
NODE_VERSION = "20"

[[redirects]]
from = "/old-path"
to = "/new-path"
status = 301
force = true

[[headers]]
for = "/*"

[headers.values]
X-Frame-Options = "DENY"

حوّل إعدادات بناء Netlify إلى JSON لتدقيق عمليات إعادة التوجيه والترويسات، أو لتوليد الإعداد المكافئ لمنصة أخرى.

ملف config.toml الخاص بـ Hugo

baseURL = "https://example.org"
languageCode = "en-us"
title = "My Hugo Site"
theme = "ananke"

[params]
description = "A static site built with Hugo"
mainSections = ["posts", "docs"]

[[menu.main]]
name = "Blog"
url = "/posts/"
weight = 1

[[menu.main]]
name = "About"
url = "/about/"
weight = 2

حوّل ملف config.toml لموقع Hugo إلى JSON لترحيل الإعدادات، أو مقارنة الإعداد، أو تشغيل واجهة إعدادات.

ملف rustfmt.toml

edition = "2021"
max_width = 100
hard_tabs = false
tab_spaces = 4
newline_style = "Unix"
use_small_heuristics = "Default"
reorder_imports = true
reorder_modules = true

حوّل ملف rustfmt.toml المسطّح إلى JSON — مثال جيد على كيفية تحويل أزواج المفتاح والقيمة على المستوى الأعلى (بلا جداول) مباشرةً إلى كائن JSON.

إعداد تطبيق بتواريخ ومصفوفات جداول

title = "Deployment Log"
last_deployed = 1979-05-27T07:32:00Z
release_date = 1979-05-27
maintenance_window = 02:00:00

[[servers]]
name = "alpha"
ip = "10.0.0.1"
ports = [8001, 8002]

[[servers]]
name = "beta"
ip = "10.0.0.2"
ports = [9001]

يُظهر كيف تتحوّل أنواع التاريخ والوقت الأصلية في TOML (التاريخ والوقت مع الإزاحة، والتاريخ المحلي، والوقت المحلي) ومصفوفات الجداول بنظافة إلى سلاسل نصية ومصفوفات في JSON.

كيفية الاستخدام

  1. 1

    الصق TOML الخاص بك

    أدخِل أو الصق TOML في حقل الإدخال أعلاه. يمكنك أيضًا النقر «تحميل مثال» لتجربة ملف Cargo.toml أو pyproject.toml حقيقي أو إعداد نشر.

  2. 2

    شاهِد ناتج JSON المباشر

    يظهر JSON فورًا في لوحة الإخراج. اضبط خيار المسافة البادئة (مسافتان أو أربع) لمطابقة صيغتك المستهدفة. تُعالَج التواريخ والجداول ومصفوفات الجداول تلقائيًا.

  3. 3

    انسخ أو نزّل

    انقر «نسخ» لنقل JSON إلى حافظتك، أو «تنزيل» لحفظه كملف .json جاهز لبرنامجك أو واجهتك البرمجية أو أدواتك.

مزالق TOML الشائعة

قيم نصية بلا علامات اقتباس

في TOML، يجب وضع القيم النصية بين علامتي اقتباس. الكلمة المجرّدة على يمين علامة المساواة صالحة فقط للقيم المنطقية (true/false)، أو الأعداد، أو التواريخ، أو كجزء من مصفوفة. ضع سلاسلك النصية بين علامتي اقتباس مزدوجتين أو مفردتين.

✗ خطأ
name = my-app
✓ صحيح
name = "my-app"

مفاتيح مكرّرة

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

✗ خطأ
name = "a"
name = "b"
✓ صحيح
name = "a"
alt_name = "b"

صيغة تاريخ ووقت غير صالحة

تتبع تواريخ وأوقات TOML معيار RFC 3339. يحتاج التاريخ إلى سنة من 4 أرقام، وشهر من رقمين، ويوم من رقمين؛ ويحتاج التاريخ والوقت إلى فاصل T (أو مسافة). التواريخ المشوّهة تفشل في التحليل.

✗ خطأ
released = 2026-7-2
✓ صحيح
released = 2026-07-02

قوس إغلاق مفقود

يجب إغلاق المصفوفات والجداول المضمّنة وترويسات الجداول. القوس [ أو { غير المغلق يُنتج خطأ تحليل يشير إلى السطر والعمود حيث اكتُشِفت المشكلة.

✗ خطأ
ports = [8001, 8002
✓ صحيح
ports = [8001, 8002]

عدد صحيح خارج النطاق الآمن

أعداد TOML الصحيحة بحجم 64 بت، لكن أعداد JSON في المتصفح محدودة بـ 2^53 - 1. القيم التي تتجاوز ذلك تُقرَّب أثناء التحويل ويُعرَض تحذير. خزّن الأعداد الصحيحة الكبيرة جدًا كسلاسل نصية بين علامتي اقتباس للحفاظ على دقتها.

✗ خطأ
snowflake = 1420070400000000000
✓ صحيح
snowflake = "1420070400000000000"

إعادة تعريف جدول

بمجرد تعريف جدول مثل [servers]، لا يمكنك فتحه مرة أخرى بالترويسة نفسها. للحصول على مدخلات متعددة، استخدم مصفوفة جداول ([[servers]]) بدلًا من ذلك، وهي تصبح مصفوفة JSON من الكائنات.

✗ خطأ
[servers]
name = "a"
[servers]
name = "b"
✓ صحيح
[[servers]]
name = "a"
[[servers]]
name = "b"

حالات الاستخدام الشائعة

بيانات Cargo الوصفية في Rust
حوّل Cargo.toml إلى JSON لبناء لوحات متابعة الاعتماديات، أو تدقيق إصدارات وميزات الحزم، أو تغذية بيانات المانيفست إلى سكربتات وأنظمة تكامل مستمر تتوقع JSON بدلًا من TOML.
إعداد مشروع Python
حوّل pyproject.toml إلى JSON لفحص بيانات مشروع PEP 621 الوصفية، أو استخراج قوائم الاعتماديات، أو تشغيل أدوات تقرأ إعداد التغليف برمجيًا.
فحص إعداد النشر
حوّل netlify.toml أو foundry.toml أو إعدادات منصات أخرى إلى JSON لتدقيق عمليات إعادة التوجيه والترويسات وإعدادات البناء، أو لتوليد إعداد مكافئ لمنصة مختلفة.
ترحيل صيغة الإعداد
حوّل إعداد تطبيق بصيغة TOML إلى JSON عند الانتقال إلى نظام يفضّل JSON، أو كخطوة وسيطة قبل تحويل إضافي بأدوات JSON مثل jq.
إعدادات المواقع الساكنة
حوّل config.toml الخاص بـ Hugo إلى JSON لترحيل إعدادات الموقع، أو مقارنة الإعداد عبر البيئات، أو بناء واجهة إعدادات مدعومة بـ JSON.
إدخال للواجهات البرمجية والسكربتات
حوّل TOML المكتوب بيد الإنسان إلى JSON تستطيع واجهة REST أو دالة بلا خادم أو سكربت أتمتة استهلاكه مباشرةً، جاسرًا بين الإعداد المقروء والإدخال الآلي.

تفاصيل تقنية

تحليل TOML 1.0.0 عبر smol-toml
يُحلَّل TOML بمكتبة smol-toml، وهي محلّل عديم الاعتماديات ومتوافق تمامًا مع TOML 1.0.0. يتعامل بصحة مع الجداول المتداخلة والمفاتيح المنقّطة والجداول المضمّنة ومصفوفات الجداول والسلاسل متعددة الأسطر وأنواع التاريخ والوقت الأربعة، ويبلّغ عن أخطاء التحليل مع مواضع السطر والعمود.
تعامل بلا خسارة مع التاريخ والوقت وأمين مع الأعداد الصحيحة
تُسلسَل تواريخ وأوقات TOML إلى سلاسل JSON تحافظ على نوعها بدقة (التاريخ والوقت مع الإزاحة، والتاريخ والوقت المحلي، والتاريخ المحلي، والوقت المحلي). الأعداد الصحيحة خارج النطاق الآمن لـ JavaScript (2^53 - 1) تُرقّى إلى BigInt أثناء التحليل، ثم تُحوَّل إلى أقرب عدد JSON مع تحذير عن الدقة، فلا يفشل TOML الصالح في التحويل أبدًا.
بنسبة 100% داخل المتصفح — بلا رفع وبلا خادم
تجري كل المعالجة في محرّك JavaScript بمتصفحك. لا تُرسَل أي بيانات في أي لحظة. المدخلات الأكبر من 200 كيلوبايت تنتقل من الوضع المباشر إلى اليدوي (نقرة «تحويل» صريحة) لإبقاء الواجهة مستجيبة.

أفضل الممارسات

خزّن الأعداد الصحيحة الكبيرة جدًا كسلاسل نصية
إن كان TOML يحتوي أعدادًا صحيحة تتجاوز 2^53 - 1 (معرّفات Snowflake، طوابع زمنية بالنانوثانية، عدّادات كبيرة)، ضعها بين علامتي اقتباس كسلاسل نصية قبل التحويل. أعداد JSON في المتصفح لا يمكنها الاحتفاظ بها بدقة، وستحذّرك الأداة عندما تضطر إلى التقريب.
فضّل المسافتين للمسافة البادئة في ناتج JSON
المسافة البادئة بمسافتين هي العُرف الأوسع استخدامًا لـ JSON، وتُنتج ناتجًا نظيفًا ومقروءًا يتوافق مع معظم المنسّقات وأدوات المقارنة. احتفظ بأربع مسافات لحين طلب دليل الأسلوب لها.
تحقّق من ناتج JSON قبل استخدامه
بعد التحويل، إن كنت تنوي تحرير JSON يدويًا أو تغذيته إلى جهة صارمة، مرّره عبر منسّق JSON للتأكد من صحته وتنسيقه المتّسق.
احتفظ بتعليقات TOML على حدة
لا يملك JSON صياغة للتعليقات، لذا تُسقَط تعليقات TOML التي تبدأ بـ # عند التحويل. إن كانت التعليقات توثيقًا مهمًا، احتفظ بملف TOML الأصلي في نظام التحكم بالإصدارات إلى جانب JSON المولَّد.
استخدم مصفوفات الجداول للأقسام المكرّرة
عندما يكون لديك أقسام متشابهة متعددة (خوادم، عمليات إعادة توجيه، ملفات ثنائية)، اكتبها كمصفوفات جداول ([[section]]) بدلًا من تكرار [section]. تُحوَّل إلى مصفوفة JSON نظيفة من الكائنات بدلًا من التسبّب بخطأ جدول مكرّر.

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

كيف أحوّل TOML إلى JSON عبر الإنترنت؟
الصق ملف TOML في حقل الإدخال أعلاه. تُحلّله الأداة وتُنتج JSON فورًا داخل متصفحك — دون الحاجة إلى النقر على أي زر. يمكنك تبديل المسافة البادئة لـ JSON بين مسافتين وأربع مسافات من لوحة الخيارات. بمجرد ظهور JSON في منطقة الإخراج، انقر «نسخ» لنقله إلى حافظتك أو «تنزيل» لحفظه كملف .json. كل شيء يعمل محليًا، لذا لا يغادر ملف TOML جهازك أبدًا.
ما هو TOML ولماذا نحوّله إلى JSON؟
TOML (اختصار Tom's Obvious, Minimal Language) هو صيغة ملفات إعداد مصمّمة لتكون سهلة القراءة والكتابة على البشر، بدلالات واضحة تُطابِق جدول تجزئة بلا لبس. تشغّل هذه الصيغة ملف Cargo.toml في Rust، وملف pyproject.toml في Python، وHugo وNetlify وأدوات كثيرة أخرى. تحوّل TOML إلى JSON عندما تحتاج إلى تغذية إعداد إلى برنامج أو واجهة برمجية تتوقع JSON، أو لفحص ملف إعداد برمجيًا، أو مقارنة إعدادين بأدوات JSON، أو تشغيل واجهة. يكتب البشر TOML، وتستهلك الآلات JSON — وهذا المحوّل يربط بينهما.
كيف تُمثَّل تواريخ وأوقات TOML في JSON؟
لا يملك JSON نوعًا أصليًا للتاريخ، لذا تُحوَّل تواريخ وأوقات TOML إلى سلاسل نصية. تحافظ هذه الأداة على نوع تاريخ TOML بدقة: التاريخ والوقت مع الإزاحة مثل 1979-05-27T07:32:00Z يصبح "1979-05-27T07:32:00.000Z"، والتاريخ المحلي مثل 1979-05-27 يبقى "1979-05-27" (لا يُحشى ليصبح طابعًا زمنيًا كاملًا)، والوقت المحلي مثل 07:32:00 يصبح "07:32:00.000". تُسطّح محوّلات كثيرة التواريخ المحلية خطأً إلى طوابع زمنية بتوقيت UTC عند منتصف الليل — أما هذه فتحافظ على المعنى الأصلي فتكون التحويلات ذهابًا وإيابًا بلا خسارة.
هل تتعامل هذه الأداة مع Cargo.toml وpyproject.toml؟
نعم. Cargo.toml وpyproject.toml هما أكثر ملفي TOML شيوعًا في الواقع، وكلاهما مدعوم بالكامل، بما في ذلك الجداول المتداخلة ([dependencies] و[tool.ruff])، والجداول المضمّنة (serde = { version = "1.0", features = ["derive"] })، ومصفوفات الجداول ([[bin]]). حمّل مثال Cargo.toml أو pyproject.toml أعلاه لرؤية بنية JSON الناتجة بالضبط. هذا مفيد للوحات البناء، وتدقيق الاعتماديات، أو أي سكربت يقرأ بيانات المشروع الوصفية بصيغة JSON.
كيف تُحوَّل جداول TOML ومصفوفات الجداول؟
ترويسة جدول TOML مثل [owner] تصبح كائن JSON متداخلًا تحت المفتاح "owner". الجدول المنقّط مثل [tool.ruff] يصبح كائنات متداخلة: { "tool": { "ruff": { ... } } }. مصفوفة الجداول المكتوبة بأقواس مزدوجة — [[servers]] مكرّرة — تصبح مصفوفة JSON من الكائنات: { "servers": [ { ... }, { ... } ] }. الجداول المضمّنة ({ a = 1, b = 2 }) تصبح كائنات JSON عادية. يتبع التحويل مواصفة TOML 1.0.0 بدقة.
ماذا يحدث للأعداد الصحيحة الكبيرة جدًا عند التحويل من TOML إلى JSON؟
يدعم TOML أعدادًا صحيحة ذات إشارة بحجم 64 بت، لكن JavaScript (ومن ثمّ JSON في المتصفح) لا يمكنه تمثيل الأعداد الصحيحة بدقة إلا حتى 2^53 - 1 (9007199254740991). إن احتوى ملف TOML على عدد صحيح أكبر من ذلك — مثل معرّف Snowflake أو طابع زمني بالنانوثانية — فلا يمكن تمثيله دون خسارة كعدد JSON، وتُقرَّب القيمة مع عرض تحذير. هذا قيد جوهري في JavaScript بالمتصفح يؤثّر على كل محوّل يعمل داخل المتصفح. للحفاظ على هذه القيم بدقة، احتفظ بها كسلاسل نصية بين علامتي اقتباس في TOML.
هل تُرسَل بيانات TOML إلى أي خادم؟
لا. يجري كل التحليل والتحويل داخل متصفحك بالكامل باستخدام JavaScript. لا يُرفَع ملف TOML أبدًا، ولا يُخزَّن، ولا يُسجَّل. هذا يجعل الأداة آمنة لملفات Cargo.toml التي تحتوي رموز سجلات خاصة، وملفات pyproject.toml بفهارس حزم داخلية، وإعدادات نشر تحتوي أسرارًا، وأي إعداد حساس آخر. يمكنك التحقق من ذلك بفتح تبويب الشبكة في متصفحك — لصق TOML لا يُطلق أي طلبات شبكة.
هل يمكنني تحويل JSON مرة أخرى إلى TOML؟
نعم. استخدم الأداة المرافقة محوّل JSON إلى TOML للاتجاه المعاكس، أو انقر زر «تبديل الاتجاه» أعلى هذه الأداة لقلب الإدخال والإخراج في مكانهما. لاحظ أن التحويل من JSON إلى TOML له قيود قليلة لا يفرضها التحويل من TOML إلى JSON — يجب أن يكون المستوى الأعلى كائنًا، ولا مكافئ في TOML للقيم الفارغة null — وهذا ما تشرحه أداة JSON إلى TOML وتتعامل معه نيابةً عنك.
كيف أحوّل TOML إلى JSON من سطر الأوامر؟
من الخيارات الشائعة أداة سطر الأوامر toml المبنية بلغة Rust أو أداة Go المسمّاة yj (الأمر yj -tj يقرأ TOML ويكتب JSON). مع Python 3.11+ يمكنك تشغيل: python3 -c "import tomllib, json, sys; print(json.dumps(tomllib.load(sys.stdin.buffer)))" < config.toml. مع Node.js: npx smol-toml (أو سكربت صغير يستخدم مكتبة smol-toml). لتحويل سريع لمرة واحدة داخل المتصفح دون تثبيت أي شيء، هذه الأداة أسرع طريق.
كيف أحوّل TOML إلى JSON في Python أو Rust أو Node.js؟
في Python 3.11+: import tomllib, json; data = tomllib.load(open('config.toml','rb')); json.dump(data, open('config.json','w')). في Rust: استخدم حزمتَي toml وserde_jsonlet value: toml::Value = toml::from_str(&text)?; let json = serde_json::to_string_pretty(&value)?. في Node.js: import { parse } from 'smol-toml'; const data = parse(text); const json = JSON.stringify(data, null, 2) — وهذه هي المكتبة والطريقة نفسها التي تستخدمها هذه الأداة.
هل يحافظ المحوّل على ترتيب المفاتيح، وماذا عن التعليقات؟
يُحافَظ على ترتيب المفاتيح داخل الجدول: تظهر المفاتيح في ناتج JSON بالترتيب نفسه الذي تظهر به في TOML. أما التعليقات فتُسقَط — إذ لا يملك JSON صياغة للتعليقات، فلا يمكن لتعليقات TOML التي تبدأ بـ # أن تنجو من التحويل. إن كنت بحاجة إلى الاحتفاظ بالتوثيق، فأضِفه كحقل ملائم لـ JSON أو احتفظ بملف TOML الأصلي إلى جانب JSON المولَّد.
هل هناك حدّ لحجم ملف إدخال TOML؟
لا يوجد حدّ صارم، لكن المدخلات التي تتجاوز 200 كيلوبايت تنتقل من التحويل المباشر إلى الوضع اليدوي: يظهر زر «تحويل» ولا يجري التحويل إلا عند النقر عليه، ما يبقي المتصفح مستجيبًا. ملفات الإعداد النموذجية — حتى مساحات عمل Cargo.toml الكبيرة أو إعدادات النشر متعددة البيئات — تُحوَّل في أقل من 50 مللي ثانية بكثير.

أدوات ذات صلة

عرض جميع الأدوات →

محوّل Base64 — ترميز وفك ترميز أونلاين

الترميز والتنسيق

رمّز وفك ترميز Base64 مجاناً أونلاين — محوّل فوري مع دعم UTF-8 والرموز التعبيرية. خصوصية 100% — يعمل في متصفّحك. جرّبه الآن.

محوّل Base64 إلى صورة أونلاين

الترميز والتنسيق

فك ترميز سلسلة Base64 أو عنوان URI للبيانات إلى صورة داخل متصفّحك. عاين واقرأ الأبعاد ونوع MIME ثم نزّل كـ PNG أو JPG أو GIF أو SVG. بلا رفع.

محوّل CSV إلى JSON

الترميز والتنسيق

حوّل CSV إلى JSON في متصفحك. RFC 4180، استنتاج الأنواع، صف العنوان، أمان الأعداد الكبيرة. خصوصية 100%.

محوّل .env إلى JSON

الترميز والتنسيق

الصق ملف .env واحصل على JSON فورًا. كلمات مرور قاعدة بياناتك ومفاتيح API لا تغادر متصفحك أبدًا — خاص 100٪، بلا رفع، محلّل dotenv مجاني.

فكّ كيانات HTML المجانية — فكّ تهريب الرموز

الترميز والتنسيق

فُكّ كيانات HTML وفُكّ تهريب HTML أونلاين — مجانًا، بلا تسجيل، 100% داخل متصفحك. يحوّل المراجع بالاسم والعشرية والسداسية إلى أحرف؛ لا يُرفع أبدًا.

ترميز كيانات HTML المجانية — تهريب الرموز

الترميز والتنسيق

رمّز كيانات HTML وهرّب الأحرف الخاصة (< > & " ') أونلاين — مجانًا، بلا تسجيل، 100% داخل متصفحك. خرج بالاسم أو العشري أو السداسي عشري؛ لا يُرفع أبدًا.