محوّل XML إلى JSON
الصق XML واحصل على JSON فوراً. يحوّل السمات إلى مفاتيح بادئة @_، ويتعامل مع العناصر المكررة كمصفوفات. 100% في المتصفح، دون رفع أي بيانات ودون تسجيل.
الخيارات · مسافتان · <bdi>XML</bdi> → <bdi>JSON</bdi>
ما هو تحويل XML إلى JSON وكيف يعمل؟
XML (لغة الترميز القابلة للتوسع) وJSON (تدوين كائنات JavaScript) كلاهما تنسيقا بيانات منظَّمة، لكن لهما نماذج مختلفة جوهرياً: XML شجرة من العناصر ذات سمات ومحتوى مختلط (نص متشابك مع عناصر فرعية)؛ JSON شجرة من الكائنات والمصفوفات والسلاسل النصية والأرقام والقيم المنطقية وقيم null. يتطلب التحويل بينهما مجموعة اتفاقيات لسد الفجوة.
تستخدم هذه الأداة الاتفاقية الأكثر انتشاراً، وهي الاتفاقية نفسها المستخدمة في مكتبات مشهورة مثل fast-xml-parser (Node.js) وxmltodict (Python) وJAXB (Java):
**1. السمات → بادئة @_.** سمات XML لا يوجد لها ما يقابلها مباشرةً في JSON. الاتفاقية هي تمثيلها كمفاتيح مسبوقة بـ @_. فتصبح
**2. محتوى نص العنصر ذي السمات → #text.** عندما يحتوي عنصر على سمات ومحتوى نص — مثل
**3. العناصر المتجاورة المكررة → مصفوفات.** يسمح XML بعناصر فرعية متعددة بالاسم نفسه؛ كائنات JSON لا يمكنها امتلاك مفاتيح مكررة. الحل هو تجميع العناصر المتجاورة بالاسم نفسه في مصفوفة. عنصر
**4. بدون إكراه للأنواع — تبقى جميع القيم سلاسل نصية.** XML لا يمتلك نظام أنواع أصلياً لمحتوى النص. القيمة «123» في XML سلسلة نصية. تحويلها إلى الرقم 123 في JSON يتطلب افتراضاً بشأن نية المؤلف — افتراض خاطئ للرموز البريدية («01234» → 1234) وأرقام الهواتف والمعرّفات ذات الحشو والسلاسل العشرية الحساسة للدقة. تحافظ هذه الأداة على جميع القيم كسلاسل نصية. طبّق إكراه الأنواع في الكود الخاص بك للحقول التي تعرف فيها النوع.
**5. خسارة للتعليقات وتعليمات المعالجة ومساحات الأسماء.** يدعم XML ميزات لا تدعمها JSON: التعليقات () وتعليمات المعالجة () ودلالات مساحات الأسماء. هذه تُستبعَد أو تُقرَّب أثناء التحويل. لعمل XML بلا خسارة — إعادة تنسيق أو ضغط أو تحقق — استخدم منسّق XML بدلاً من ذلك. للتحويل العكسي — بناء XML من JSON — استخدم محوّل JSON إلى XML.
**لماذا تحويل XML إلى JSON أصلاً؟** JSON هو التنسيق الأصلي لـ JavaScript والتنسيق الافتراضي لتبادل البيانات في واجهات REST البرمجية. إذا كنت تستقبل XML من خدمة SOAP قديمة أو تغذية RSS أو خريطة موقع أو نظام مؤسسي، فإن تحويله إلى JSON يتيح لك العمل مع البيانات باستخدام وصول كائنات JavaScript القياسية واستعلامات JSON path وأي قاعدة بيانات أو واجهة برمجية مدركة لـ JSON.
// Convert XML to JSON in Node.js using fast-xml-parser
import { XMLParser } from 'fast-xml-parser';
const xml = `<catalog>
<product id="P01">
<name>Wireless Headphones</name>
<price currency="USD">79.99</price>
</product>
</catalog>`;
const parser = new XMLParser({
ignoreAttributes: false, // preserve attributes
attributeNamePrefix: '@_', // @_ prefix for attributes
textNodeName: '#text', // #text for mixed element content
parseAttributeValue: false, // no type coercion on attributes
parseTagValue: false, // no type coercion on element text
});
const result = parser.parse(xml);
console.log(JSON.stringify(result, null, 2));
// {
// "catalog": {
// "product": {
// "@_id": "P01",
// "name": "Wireless Headphones",
// "price": {
// "@_currency": "USD",
// "#text": "79.99"
// }
// }
// }
// } الميزات الرئيسية
تحويل مباشر
يتحدث إخراج JSON فوراً أثناء الكتابة أو لصق XML — دون الحاجة إلى زر «تحويل». تتحول المدخلات الكبيرة (أكثر من 200 كيلوبايت) تلقائياً إلى الوضع اليدوي للحفاظ على استجابة المتصفح.
اتفاقية البادئة @_ للسمات
تصبح سمات XML مفاتيح JSON مسبوقة بـ @_، اتباعاً لاتفاقية fast-xml-parser وxmltodict.
اكتشاف تلقائي للمصفوفات للعناصر المكررة
تصبح العناصر المتجاورة بالاسم نفسه تلقائياً مصفوفة JSON. عنصر
بدون إكراه للأنواع — تبقى القيم سلاسل نصية
تُحفظ جميع قيم XML كسلاسل نصية JSON. الأصفار الأمامية وأرقام الهواتف والأكواد ذات الحشو والسلاسل المنطقية الشكل مثل «true» أو «false» لا تتحول أبداً بصمت إلى أرقام أو قيم منطقية.
خصوصية 100% قائمة على المتصفح
يتم التحويل كلياً محلياً في متصفحك باستخدام JavaScript. XML الخاص بك — بما في ذلك بيانات الاعتماد والإعدادات الداخلية والحمولات الحساسة — لا يُرسَل إلى أي خادم ولا يُسجَّل ولا يُخزَّن أبداً.
الإبلاغ عن أخطاء الصياغة السليمة
إذا لم يكن XML مُصاغاً بشكل سليم، تُبلّغ الأداة عن رقم السطر والعمود بالضبط للخطأ الأول، حتى تتمكن من تحديد المشكلة وإصلاحها فوراً قبل التحويل.
أمثلة
ملف إعداد
<?xml version="1.0" encoding="UTF-8"?>
<appConfig version="2.1" env="production">
<database>
<host>db.example.com</host>
<port>5432</port>
<name>myapp_prod</name>
<pool max="10" min="2"/>
</database>
<cache enabled="true">
<ttl>3600</ttl>
<driver>redis</driver>
</cache>
</appConfig> ملف إعداد تطبيق صغير يحتوي على سمات وعناصر متداخلة. تصبح السمات مفاتيح بادئة @_ في إخراج JSON: يصبح version="2.1" هو "@_version": "2.1" تحت appConfig، وتصبح سمتا max وmin للعنصر pool هما "@_max": "10" و"@_min": "2". جميع القيم — بما فيها port وttl — تبقى سلاسل نصية لا أرقاماً، لأن المحوّل لا يُجري أي إكراه للأنواع.
مقتطف خريطة موقع
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://go-tools.org/tools/xml-to-json</loc>
<lastmod>2026-05-29</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://go-tools.org/tools/json-to-xml</loc>
<lastmod>2026-05-29</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset> مقتطف ملف sitemap.xml بعنوانَي URL. لأن هناك عنصرَي <url> متجاورَين تحت <urlset>، يصبحان مصفوفة JSON. يصبح إعلان مساحة الأسماء xmlns هو "@_xmlns" على كائن urlset. تبقى قيمة priority «0.8» سلسلة نصية — دون إكراه رقمي — لذا ستُحفظ القيم ذات الصفر الأمامي مثل «0.08» بدقة أيضاً.
عنصر RSS
<item> <title>XML to JSON: A Practical Guide</title> <link>https://go-tools.org/blog/xml-to-json-guide</link> <pubDate>Thu, 29 May 2026 00:00:00 GMT</pubDate> <category>Developer Tools</category> <description>Learn how XML attributes map to @_ keys, how repeated elements become arrays, and why values stay strings in any XML-to-JSON conversion.</description> <guid isPermaLink="true">https://go-tools.org/blog/xml-to-json-guide</guid> </item>
عنصر RSS 2.0. يحتوي عنصر guid على سمة isPermaLink، لذا يصبح إخراج JSON لـ guid كائناً يحتوي على "@_isPermaLink": "true" و"#text": "https://go-tools.org/blog/xml-to-json-guide" — تتعايش السمة ومحتوى نص العنصر كمفاتيح متجاورة. جميع العناصر الأخرى تحتوي على محتوى نصي فحسب وتتحول مباشرةً إلى قيم سلسلة نصية.
كيفية الاستخدام
- 1
الصق XML الخاص بك
أدخل أو الصق XML في حقل الإدخال أعلاه. يمكنك أيضاً النقر على «تحميل مثال» لتجربة عينة — ملف إعداد أو مقتطف خريطة موقع أو عنصر RSS.
- 2
شاهد إخراج JSON مباشرة
يظهر JSON فوراً في لوحة الإخراج. تصبح السمات مفاتيح مسبوقة بـ @_، ومحتوى نص العناصر المختلطة يصبح #text، والعناصر المتجاورة المكررة تصبح مصفوفات. اضبط المسافة البادئة (مسافتان أو 4) حسب الحاجة.
- 3
انسخ أو حمّل
انقر على «نسخ» لنقل JSON إلى الحافظة، أو «تحميل» لحفظه كملف .json جاهز لتطبيقك أو واجهة برمجية أو مسار البيانات.
مزالق التحويل الشائعة
نسيان أن القيم تبقى سلاسل نصية
لا يُجري المحوّل أي إكراه للأنواع. إذا كان كود المصب يتوقع أرقاماً في JSON لكن XML يحتوي على سلاسل رقمية، يجب عليك إكراهها صراحةً بعد التحويل. الاعتماد على إكراه السلسلة إلى رقم ضمنياً (عملية == في JavaScript أو عمليات الحساب) عرضة للأخطاء — استخدم دائماً parseInt() أو parseFloat() أو Number() بشكل متعمد.
// XML: <timeout>30</timeout>
// JSON output: { "timeout": "30" } ← string, not number
// Dangerous: comparing as-is
if (config.timeout > 25) { ... } // "30" > 25 coerces, but fragile // XML: <timeout>30</timeout>
// JSON output: { "timeout": "30" }
// Safe: explicit coercion where you know the type
if (parseInt(config.timeout, 10) > 25) { ... } عدم تطابق شكل العنصر الواحد مقابل المصفوفة
عندما يوجد عنصر
// XML with one item: <root><item>a</item></root>
// JSON: { "root": { "item": "a" } } ← string, not array
result.root.item.forEach(i => console.log(i)); // TypeError: not a function // Normalize to array regardless of count const items = [].concat(result.root?.item ?? []); items.forEach(i => console.log(i)); // safe for 0, 1, or many
المحتوى المختلط: النص ومفتاح #text
عندما يحتوي عنصر على سمات ومحتوى نص، يذهب النص تحت #text. الوصول إلى قيمة النص كما لو كانت سلسلة نصية عادية سيُعيد كائناً بدلاً من ذلك. تحقق دائماً مما إذا كانت قيمة العنصر سلسلة نصية أو كائناً بمفتاح #text عندما تكون السمات ممكنة.
// XML: <price currency="USD">29.99</price>
// JSON: { "price": { "@_currency": "USD", "#text": "29.99" } }
const amount = result.price; // { "@_currency": "USD", "#text": "29.99" }, not "29.99" // Handle both plain string and @_/#text object const raw = result.price; const amount = typeof raw === 'object' ? raw['#text'] : raw; // "29.99"
XML غير مُصاغ بشكل سليم كمدخل
يتطلب المحوّل XML مُصاغاً بشكل سليم. الأسباب الشائعة لأخطاء الصياغة السليمة: & غير مُهرَّب في محتوى النص (استخدم &)، وسوم غير متطابقة (
<!-- Unescaped & — well-formedness error --> <query>name = 'Alice' & role = 'admin'</query>
<!-- Escaped & — valid XML --> <query>name = 'Alice' & role = 'admin'</query>
القيم ذات الصفر الأمامي تُفسَد بالإكراه
تحافظ هذه الأداة على الأصفار الأمامية لأنها لا تُجري أي إكراه للأنواع. إذا عالجت JSON لاحقاً بمكتبة تُجري الإكراه (بعض أدوات التحقق من مخطط JSON ومُعيِّنات ORM)، قد يفقد الصفر الأمامي. أعلن دائماً عن نوع الحقل صراحةً كسلسلة نصية في مخططك.
// XML: <zipCode>01234</zipCode>
// This tool outputs: { "zipCode": "01234" } ← correct
// But if a downstream schema coerces:
// { zipCode: z.number() } → 1234 ← leading zero lost // Declare ZIP codes and other padded identifiers as strings
// { zipCode: z.string() } → "01234" ← correct حالات الاستخدام الشائعة
- استهلاك واجهات SOAP والـ XML القديمة
- الخدمات المؤسسية القديمة (البنوك والتأمين والخدمات اللوجستية) كثيراً ما تكشف عن واجهات SOAP تُعيد XML. حوّل الاستجابة إلى JSON للعمل مع البيانات باستخدام أدوات JavaScript الحديثة أو تخزينها في قاعدة بيانات مستندات أو إعادة توجيهها إلى مستهلك واجهة REST برمجية.
- معالجة تغذيات RSS وAtom
- تغذيات RSS 2.0 وAtom 1.0 هي XML. حوّل XML التغذية إلى JSON لاستخراج العناوين والروابط وتواريخ النشر والأوصاف لمجمّعات التغذيات ومسارات المحتوى وأنظمة الإشعارات دون اعتمادية مكتبة تحليل XML.
- تحليل ملفات خرائط المواقع
- تُعدّد ملفات sitemap.xml عناوين URL للموقع مع بيانات وصفية. حوّل خريطة موقع إلى JSON لتحليل تغطية URL وبناء قوائم انتظار الزحف ومقارنة خرائط المواقع عبر البيئات أو تغذية عناوين URL في أداة فاحص روابط أو تدقيق SEO.
- تحويل ملفات الإعداد
- كثير من الأنظمة المؤسسية (Spring وMaven وAnt وJBoss وTomcat) تستخدم ملفات إعداد XML. حوّلها إلى JSON للتحليل أو سكريبتات الترحيل أو توليد التوثيق أو الاستيراد في أدوات تتعامل مع JSON أصلاً.
- تطوير تطبيقات Android للجوال
- موارد Android وملفات التخطيط وAndroidManifest.xml كلها XML. حوّلها إلى JSON لسكريبتات التحليل والتدقيق الآلي أو توليد التوثيق حول الأذونات المُعلَن عنها والأنشطة وقيم الموارد.
- ترحيل البيانات وETL
- تصدير البيانات من الأنظمة المؤسسية (ERP وCRM والرواتب) كثيراً ما يصل كـ XML. حوّل إلى JSON كخطوة أولى في مسار ETL لتحميل البيانات في مخزن بيانات أصلي لـ JSON مثل MongoDB أو Firestore أو واجهة REST برمجية.
تفاصيل تقنية
- DOMParser في المتصفح لتحليل XML
- يُحلَّل مدخل XML باستخدام DOMParser الأصلي في المتصفح مع نوع MIME هو 'text/xml' — المحرك نفسه المستخدم لعرض SVG وXHTML. متوافق بالكامل مع XML 1.0 ويُبلّغ عن أخطاء الصياغة السليمة مع معلومات السطر والعمود. يتعامل هذا النهج مع مساحات الأسماء وأقسام CDATA وتعليمات المعالجة ومراجع الكيانات بشكل صحيح دون أي اعتمادية خارجية.
- تسلسل DOM إلى JSON بشكل تكراري
- بعد التحليل، تستعرض الأداة شجرة DOM بشكل تكراري. عقد العناصر تصبح كائنات JSON؛ سماتها تصبح مفاتيح مسبوقة بـ @_؛ العناصر النصية فحسب تصبح قيم سلسلة نصية عادية؛ العناصر التي تحتوي على سمات ومحتوى نص تكتسب مفتاح #text لمحتوى النص. تُجمَع العناصر المتجاورة بالاسم نفسه وتُخرَج كمصفوفة JSON. العقد النصية ذات المسافات البيضاء فحسب بين العناصر تُستبعَد.
- بدون إكراه للأنواع — الحفاظ على السلاسل النصية
- تُكتَب جميع قيم السمات ومحتوى النص في إخراج JSON كسلاسل نصية. لا يُطبَّق parseInt أو parseFloat أو تحليل منطقي. هذا خيار تصميمي متعمد لمنع تلف البيانات بصمت للقيم ذات الصفر الأمامي والأعشار الحساسة للدقة والسلاسل المنطقية الشكل. يجب تطبيق إكراه الأنواع، عند الحاجة، صراحةً في كود المصب.
- 100% قائم على المتصفح — بدون رفع ملفات أو خادم
- تتم جميع المعالجة في محرك JavaScript في متصفحك. لا تُنقَل أي بيانات عبر الشبكة في أي وقت. تتحول المدخلات الأكبر من 200 كيلوبايت تلقائياً من الوضع المباشر إلى الوضع اليدوي (مطلوب نقر «تحويل» صريح) للحفاظ على استجابة المتصفح ومنع تعطّل سلسلة المعالجة الرئيسية أثناء استعراض DOM الثقيل.
أفضل الممارسات
- تحقق من صياغة XML السليمة أولاً
- إذا كان مصدر XML مكتوباً يدوياً أو مُنشأً من نظام قد يُنتج إخراجاً مشوهاً أحياناً، تحقق منه قبل التحويل. استخدم زر «التحقق» في منسّق XML لتأكيد صياغة XML السليمة والحصول على مواضع أخطاء دقيقة لأي مشاكل.
- طبّع الحقول ذات العنصر الواحد أو المتعدد إلى مصفوفات
- عندما يسمح مخطط XML بعنصر فرعي واحد أو عدة عناصر فرعية بالاسم نفسه، سيكون إخراج JSON كائناً لعنصر واحد ومصفوفة للعدة عناصر. طبّع هذه الحقول دائماً في كود المستهلك: const items = [].concat(result.items ?? []) — وهذا آمن لصفر أو واحد أو عدة عناصر ويمنع TypeError.
- طبّق إكراه الأنواع صراحةً وبشكل انتقائي
- لأن هذه الأداة تحافظ على جميع القيم كسلاسل نصية، طبّق إكراه الأنواع بوعي في الكود الخاص بك للحقول المحددة التي تحتاجه. استخدام parseInt(val, 10) لحقل عدد صحيح معروف آمن. تطبيق الإكراه على نطاق واسع بـ Number(val) يخاطر بتلف القيم ذات الصفر الأمامي والسلاسل الفارغة والأعشار الحساسة للدقة.
- تحقق من #text عند الوصول إلى قيم العناصر
- إذا كان عنصر يمكنه امتلاك سمات في بعض الحمولات دون غيرها، فستكون قيمة JSON إما سلسلة نصية عادية (بدون سمات) أو كائناً بمفاتيح @_ ومفتاح #text (مع سمات). اكتب دوال وصول قوية: const val = typeof node === 'object' ? node['#text'] : node. هذا النمط يتعامل مع كلا الشكلين ويتجنب قيم undefined الصامتة.
- للعمل مع XML بلا خسارة، استخدم منسّق XML
- يستبعد تحويل XML إلى JSON التعليقات وتعليمات المعالجة ودلالات مساحات الأسماء. إذا كنت بحاجة إلى الحفاظ على محتوى XML بالكامل، استخدم منسّق XML للتجميل والضغط والتحقق دون أي خسارة. حوّل إلى JSON فقط عندما تحتاج إلى العمل مع البيانات في سياق JSON أصلي.
الأسئلة الشائعة
هل تُرسَل بيانات XML إلى خادم عند استخدام هذه الأداة؟
كيف تُعيَّن سمات XML في إخراج JSON؟
<product id="P01" category="electronics"> يُنتج كائن JSON يحتوي على "@_id": "P01" و"@_category": "electronics" جانباً لأي مفاتيح عناصر فرعية. عندما يحتوي عنصر على سمات ومحتوى نص في آنٍ واحد — مثل <price currency="USD">29.99</price> — يُخزَّن محتوى النص تحت المفتاح الخاص "#text"، فتكون النتيجة { "@_currency": "USD", "#text": "29.99" }. هذه الاتفاقية متسقة وقابلة للتوقع: @_ تعني دائماً سمة، و#text تعني دائماً محتوى نص العنصر. هل يُجري المحوّل إكراهاً للأرقام أو القيم المنطقية؟
<count>42</count> تصبح "count": "42" لا 42. <enabled>true</enabled> تصبح "enabled": "true" لا true. هذا مقصود ومهم: يحافظ على الأصفار الأمامية (أرقام الهواتف وأكواد الحسابات والرموز البريدية مثل «01234»)، ودقة الأرقام لقيم مثل «0.100»، والقيم النصية التي تبدو منطقية. إذا كنت بحاجة إلى أرقام أو قيم منطقية في JSON النهائي، طبّق إكراه الأنواع في الكود الخاص بك بعد التحويل — حيث تتحكم بالضبط في الحقول التي تخضع للإكراه. كيف تُعالَج العناصر المكررة (المتجاورة بالاسم نفسه)؟
<root><item>a</item></root> تُنتج { "root": { "item": "a" } } — item كائن (سلسلة نصية). لكن <root><item>a</item><item>b</item></root> تُنتج { "root": { "item": ["a", "b"] } } — item مصفوفة. هذا يعني أن بنية إخراج JSON تعتمد على عدد العناصر المتجاورة في XML، وهو أحد أسباب كون تحويل XML إلى JSON قائماً على اتفاقيات. إذا كان مخطط XML الخاص بك يمكن أن يحتوي على عنصر واحد أو عدة عناصر، يجب على كود المستهلك التعامل مع حالتي الكائن والمصفوفة. هل تحويل XML إلى JSON بلا خسارة؟
كيف أحوّل JSON مجدداً إلى XML؟
ماذا يحدث لمساحات الأسماء في XML؟
<soap:Body> هو "soap:Body" في JSON). لا يُفسَّر المعنى الدلالي لمساحات الأسماء — أن بادئتين قد تشيران إلى URI نفسه. إذا كانت معالجة مساحات الأسماء بدقة مهمة لحالة استخدامك، حلّل XML في محلل مدرك لمساحات الأسماء بدلاً من تحويله إلى JSON. لماذا تصبح <n>0123</n> هي "0123" وليس 123؟
ما الفرق بين هذه الأداة ومنسّق XML؟
هل هناك حد لحجم الملف؟
هل يتعامل المحوّل مع أقسام CDATA؟
<note><![CDATA[if (a < b) return;]]></note> تُنتج "note": "if (a < b) return;" في JSON. وهذا السلوك الصحيح: CDATA مجرد طريقة لتضمين نص يحتوي على أحرف خاصة دون تهريبها؛ المعنى الدلالي هو محتوى النص. هل يمكن تحويل XML بعناصر جذر متعددة؟
<a/><b/>، حوّله كـ <root><a/><b/></root>. ستُشير رسالة الخطأ إلى موضع مشكلة الصياغة السليمة حتى تتمكن من إصلاحها بسرعة. أدوات ذات صلة
عرض جميع الأدوات →محوّل Base64 — ترميز وفك ترميز أونلاين
الترميز والتنسيق
رمّز وفك ترميز Base64 مجاناً أونلاين — محوّل فوري مع دعم UTF-8 والرموز التعبيرية. خصوصية 100% — يعمل في متصفّحك. جرّبه الآن.
محوّل CSV إلى JSON
الترميز والتنسيق
حوّل CSV إلى JSON في متصفحك. RFC 4180، استنتاج الأنواع، صف العنوان، أمان الأعداد الكبيرة. خصوصية 100%.
JSON Diff مقارنة
الترميز والتنسيق
قارن ملفي JSON فوراً في متصفحك. عرض جنباً إلى جنب مع تمييز الفروق، وإخراج JSON Patch (RFC 6902)، وتجاهل الحقول المزعجة كالطوابع الزمنية والمعرّفات. خصوصية تامة، بدون رفع ملفات.
منسق JSON — التحقق والضغط وإصلاح الأخطاء
الترميز والتنسيق
نسّق JSON وتحقّق من صحته وأصلح الأخطاء فوراً — محرّر مجاني أونلاين يعمل في متصفّحك. يدعم الضغط والتجميل والتحويل. جرّبه الآن.
مدقق JSON Schema
الترميز والتنسيق
تحقق فوراً من JSON مقابل أي JSON Schema في متصفحك. يدعم Draft 2020-12 و2019-09 وDraft-07 مع رسائل أخطاء دقيقة بالمسار. خصوصية تامة - بدون رفع ولا حساب، مجاني.
محوّل JSON إلى CSV
الترميز والتنسيق
حوّل JSON إلى CSV في متصفحك. RFC 4180، Excel، TSV، أنبوب. خصوصية 100%.