مبدل رایگان

XML به مبدل JSON

داده ها یا فایل های XML را فوراً در مرورگر خود به فرمت JSON تبدیل کنید. از تورفتگی سفارشی پشتیبانی می کند و ساختارهای تودرتو را مدیریت می کند.

فایل XML را انتخاب کنید

یا اینجا بکشید و رها کنید

یا

درباره این ابزار

XML و JSON هر دو فرمت های تبادل داده هستند اما از دوره های مختلف وب آمده اند. XML، استاندارد شده در سال 1998، به عنوان یک قالب نشانه گذاری خود توصیفی با ویژگی ها، فضاهای نام و اعتبارسنجی طرحواره طراحی شد. JSON در اوایل دهه 2000 به عنوان یک فرمت سبک‌تر و مناسب‌تر برای زمان‌های اجرا جاوا اسکریپت و APIهای مدرن ظاهر شد. اکثر APIهای وب جدید JSON صحبت می کنند. بسیاری از سیستم های قدیمی - خدمات SOAP، فیدهای RSS، فایل های پیکربندی، ادغام سازمانی - هنوز XML تولید می کنند. تبدیل بین آنها یکی از متداول ترین وظایف متقابل در توسعه مدرن است.

تبدیل کاملاً بدون ضرر نیست زیرا این دو فرمت قدرت بیان متفاوتی دارند. XML دارای ویژگی هایی است (که JSON به صورت بومی آن را ندارد)، بین محتوای متن و نام عناصر تمایز قائل می شود و از محتوای ترکیبی پشتیبانی می کند (عناصر حاوی عناصر متنی و فرزند). مدل شی/آرایه ساده JSON نمی‌تواند مستقیماً این ویژگی‌ها را نشان دهد، بنابراین مبدل‌ها قراردادهایی را اعمال می‌کنند: ویژگی‌ها به کلیدهای با پیشوند @ تبدیل می‌شوند، محتوای متن به یک کلید متنی # تبدیل می‌شود و غیره.

این مبدل XML را با استفاده از DOMParser داخلی مرورگر تجزیه می کند و درخت DOM حاصل را برای تولید JSON حرکت می دهد. عناصری با نام تگ مشابه خواهر و برادر در آرایه ها جمع آوری می شوند. ویژگی ها به کلیدهای ویژه می روند. فضاهای نام و دستورالعمل های پردازش در صورت وجود حفظ می شوند. نتیجه JSON قابل خواندن برای انسان است که به طور معقولی به XML برمی گردد.

چرا XML را به JSON تبدیل کنیم؟

اکثر کدهای کاربردی مدرن با JSON راحت تر هستند. جاوا اسکریپت JSON را به صورت بومی تجزیه می‌کند، ماژول json پایتون در کتابخانه استاندارد قرار دارد و تقریباً هر زبان دیگری از JSON درجه یک پشتیبانی می‌کند. پردازش XML نیاز به وارد کردن کتابخانه‌های اضافی و نوشتن دیگ بخار بیشتری دارد. تبدیل XML ورودی به JSON قبل از پردازش اغلب سریعترین مسیر از خوراک XML خارجی به ساختار داده داخلی است.

Tooling همچنین به JSON متکی است. زیباسازهای JSON، اعتبار سنجی، اعتبار سنجی طرحواره، زبان های پرس و جو (jq، JSONPath) و بینندگان فراوان هستند. معادل های XML کمتر و اغلب قدیمی تر هستند. کار در JSON اکوسیستم غنی‌تری از ابزارها را باز می‌کند.

نحوه استفاده

XML را جایگذاری کنید، JSON دریافت کنید.

  1. XML خود را جایگذاری یا آپلود کنید: متن XML را در قسمت ورودی جای‌گذاری کنید یا یک فایل را رها کنید. XML باید به خوبی شکل گرفته باشد. XML بدشکل یک خطای تجزیه را به جای حدس ایجاد می کند.
  2. تبدیل کنید: DOMParser یک DOM می‌سازد، مبدل هر عنصر را راه‌اندازی می‌کند، و JSON با استفاده از کلیدهای ویژگی (@attr) و کلیدهای محتوای متنی (#text) در صورت نیاز تولید می‌شود. عناصر خواهر و برادر با همین نام به آرایه تبدیل می شوند.
  3. ساختار را مرور کنید: JSON را بررسی کنید تا تأیید کنید که ویژگی‌ها، متن و تودرتو همانطور که انتظار می‌رود نگاشت شده‌اند. قراردادهای استفاده شده (به عنوان مثال @ برای ویژگی ها) در خروجی قابل مشاهده است.
  4. دانلود یا کپی کنید: به عنوان json. ذخیره کنید یا در کلیپ بورد کپی کنید.

موارد استفاده رایج

جزئیات فنی

DOMParser یک XML DOM مشابه آنچه مرورگر برای صفحات XHTML استفاده می کند تولید می کند. مبدل این DOM را به صورت بازگشتی راه می‌دهد. برای هر عنصر یک شی JSON ایجاد می‌کند: ویژگی‌ها به کلیدهایی تبدیل می‌شوند که با پیشوند @ هستند (به عنوان مثال، @id، @class). عناصر فرزند عنصر به همان ساختار بازگردانده می شوند. محتوای متنی، وقتی در کنار کودکان وجود دارد، زیر یک #کلید متنی زندگی می کند.

عناصر فرزند مکرر با همان نام تگ در یک آرایه JSON جمع آوری می شوند. یک فرزند از یک نام معین به عنوان یک مقدار شی ظاهر می شود. چند کودک به صورت آرایه ای از اشیاء ظاهر می شوند. این قرارداد در عمل به خوبی کار می کند، اما به این معنی است که شکل JSON به یک بار یا چند بار ظاهر شدن عناصر بستگی دارد - نقص شناخته شده نگاشت XML به JSON.

فضاهای نام به عنوان بخشی از نام عناصر (پیشوند:localName) حفظ می شوند. دستورالعمل های پردازش و بخش های CDATA به محتوای متنی تبدیل می شوند. اعلان‌های XML و DOCTYPE از خروجی JSON حذف می‌شوند اما روی داده‌ها تأثیر نمی‌گذارند.

بهترین شیوه ها

سوالات متداول

آیا تبدیل XML به JSON محتوا را تغییر می دهد؟
محتوا تا حد امکان دقیق حفظ می شود. با این حال، برخی از ویژگی های خاص قالب ممکن است معادل مستقیم نداشته باشند، بنابراین تفاوت های قالب بندی جزئی ممکن است رخ دهد.
چرا داده ها را به فرمت JSON تبدیل کنیم؟
JSON فرمت استاندارد داده برای وب API و برنامه های جاوا اسکریپت است. این برای انسان قابل خواندن است، به طور گسترده توسط زبان های برنامه نویسی پشتیبانی می شود و نحو ساده تری نسبت به XML دارد.
آیا مبدل ساختارهای XML تودرتو یا پیچیده را مدیریت می کند؟
بله. این ابزار به درستی اشیاء تودرتو، آرایه‌ها و تمام انواع داده‌های استاندارد XML را تجزیه می‌کند و ساختار کامل داده را در خروجی JSON حفظ می‌کند.
آیا این تبدیل امن و خصوصی است؟
بله. تمام پردازش ها به صورت محلی در مرورگر شما انجام می شود. داده‌های شما هرگز از دستگاه شما خارج نمی‌شوند - بدون آپلود سرور، بدون پردازش ابری، بدون جمع‌آوری داده‌ها.
آیا بخش های CDATA مدیریت می شوند؟
بله. محتوای CDATA در خروجی JSON به متن ساده تبدیل می شود. خود بسته بندی CDATA حفظ نمی شود، اما محتوا حفظ می شود.
آیا داده های من روی سرور آپلود می شود؟
خیر. DOMParser در مرورگر شما اجرا می شود. تبدیل به طور کامل در دستگاه شما اتفاق می افتد.
آیا JSON رفت و برگشت به XML بازمی گردد؟
اگر از قرارداد معکوس استفاده می‌کنید، بله (ابزار JSON به XML از قوانین @attr و #text پیروی می‌کند). رفت و برگشت ساختار XML معمولی را حفظ می کند. برخی از موارد لبه (ترتیب محتوای مختلط، دستورالعمل‌های پردازش) ممکن است کاملاً زنده نمانند.
حداکثر اندازه ورودی چقدر است؟
تا 50 مگابایت DOMParser توسط مرورگر شما محدود به حافظه است. فایل های XML بسیار بزرگ ممکن است کند شوند یا تجزیه نشوند.