JSON
JSON ↔ YAML / CSV / XML / TOML
تحويل JSON إلى YAML أو CSV أو XML أو TOML والعكس — كل ذلك في المتصفح، بدون مكتبات.
الاتفاقية: السمات هي مفاتيح تبدأ بـ "@" (@id ← سمة id)، ونص العنصر المختلط هو المفتاح "#text"، والعناصر الفرعية المتكررة تصبح مصفوفة.
JSON, YAML, CSV, XML, and TOML all solve the same problem — structured data representation — with different syntax and different trade-offs. This tool converts between all of them in both directions, right in your browser.
How to use it
- Paste data in the source format and pick a target format — the conversion happens instantly.
- For CSV, the first row is automatically treated as column headers.
- Copy the result or download it as a file with the matching extension.
Common uses
- Converting an app's configuration from YAML to JSON (or back) to match a specific framework.
- Turning a spreadsheet export (CSV) into JSON for loading into a database or API.
- Reading a TOML config (common in the Rust/Python ecosystem) in the more familiar JSON format.
Things to keep in mind
JSON ↔ YAML and JSON ↔ TOML are usually lossless in both directions, since both formats support nesting the same way JSON does.
JSON → CSV loses nested structure: CSV is a flat tabular format, so nested objects and arrays either need to be flattened into separate columns or serialized as text.
مقالة عن هذه الأداة: JSON ↔ YAML/CSV/XML/TOML: متى ولماذا نحوّل
الأسئلة الشائعة
هل يعمل تحويل JSON إلى CSV دائمًا بسلاسة؟
فقط مع البيانات المسطحة والجدولية بشكل معقول. الكائنات المتداخلة بعمق أو المصفوفات ذات الأشكال المتفاوتة لا تُطابق بشكل نظيف صفوف وأعمدة CSV المسطحة، لذا عادةً ما يتم تسطيح القيم المتداخلة أو تحويلها إلى نص.
ماذا يحدث لأنواع البيانات عند التحويل إلى YAML أو TOML؟
يحافظ المحوّل على الأنواع حيثما يدعمها التنسيق الهدف (الأرقام، القيم المنطقية، null)، لكن تنسيقات مثل XML تمثّل كل شيء كنص ما لم تُضِف أنت بنفسك سمات نوع صريحة.
هل يتم رفع بياناتي إلى أي مكان أثناء التحويل؟
لا. يتم كل التحويل محليًا في متصفحك — لا شيء يُرسَل إلى خادم.
لماذا يتغيّر رقم أو نص أحيانًا بعد التحويل إلى YAML؟
يحاول محلِّل YAML تخمين نوع القيمة غير الموضوعة بين علامتي اقتباس: "1.20" قد تتحول إلى الرقم 1.2 (فاقدةً الصفر الأخير)، و"NO" قد تتحول إلى القيمة المنطقية false وفق قواعد YAML 1.1 القديمة. لتجنّب ذلك، يُستحسن وضع القيم التي يجب أن تبقى نصًا بين علامتي اقتباس صراحة.
هل يمكن التحويل في الاتجاه المعاكس دون فقدان بيانات؟
التحويل JSON ↔ YAML وJSON ↔ TOML عكسي عادة بلا فقدان، لأن كلا الصيغتين تدعمان التداخل مثل JSON تمامًا. أما JSON → CSV → JSON فيفقد البنية المتداخلة إن وُجدت — التحويل العكسي سيعيد فقط النسخة المسطحة من البيانات.