XML به مبدل JSON
داده ها یا فایل های XML را فوراً در مرورگر خود به فرمت JSON تبدیل کنید. از تورفتگی سفارشی پشتیبانی می کند و ساختارهای تودرتو را مدیریت می کند.
فایل XML را انتخاب کنید
یا اینجا بکشید و رها کنید
داده ها یا فایل های XML را فوراً در مرورگر خود به فرمت JSON تبدیل کنید. از تورفتگی سفارشی پشتیبانی می کند و ساختارهای تودرتو را مدیریت می کند.
یا اینجا بکشید و رها کنید
XML و JSON هر دو فرمت های تبادل داده هستند اما از دوره های مختلف وب آمده اند. XML، استاندارد شده در سال 1998، به عنوان یک قالب نشانه گذاری خود توصیفی با ویژگی ها، فضاهای نام و اعتبارسنجی طرحواره طراحی شد. JSON در اوایل دهه 2000 به عنوان یک فرمت سبکتر و مناسبتر برای زمانهای اجرا جاوا اسکریپت و APIهای مدرن ظاهر شد. اکثر APIهای وب جدید JSON صحبت می کنند. بسیاری از سیستم های قدیمی - خدمات SOAP، فیدهای RSS، فایل های پیکربندی، ادغام سازمانی - هنوز XML تولید می کنند. تبدیل بین آنها یکی از متداول ترین وظایف متقابل در توسعه مدرن است.
تبدیل کاملاً بدون ضرر نیست زیرا این دو فرمت قدرت بیان متفاوتی دارند. XML دارای ویژگی هایی است (که JSON به صورت بومی آن را ندارد)، بین محتوای متن و نام عناصر تمایز قائل می شود و از محتوای ترکیبی پشتیبانی می کند (عناصر حاوی عناصر متنی و فرزند). مدل شی/آرایه ساده JSON نمیتواند مستقیماً این ویژگیها را نشان دهد، بنابراین مبدلها قراردادهایی را اعمال میکنند: ویژگیها به کلیدهای با پیشوند @ تبدیل میشوند، محتوای متن به یک کلید متنی # تبدیل میشود و غیره.
این مبدل XML را با استفاده از DOMParser داخلی مرورگر تجزیه می کند و درخت DOM حاصل را برای تولید JSON حرکت می دهد. عناصری با نام تگ مشابه خواهر و برادر در آرایه ها جمع آوری می شوند. ویژگی ها به کلیدهای ویژه می روند. فضاهای نام و دستورالعمل های پردازش در صورت وجود حفظ می شوند. نتیجه JSON قابل خواندن برای انسان است که به طور معقولی به XML برمی گردد.
اکثر کدهای کاربردی مدرن با JSON راحت تر هستند. جاوا اسکریپت JSON را به صورت بومی تجزیه میکند، ماژول json پایتون در کتابخانه استاندارد قرار دارد و تقریباً هر زبان دیگری از JSON درجه یک پشتیبانی میکند. پردازش XML نیاز به وارد کردن کتابخانههای اضافی و نوشتن دیگ بخار بیشتری دارد. تبدیل XML ورودی به JSON قبل از پردازش اغلب سریعترین مسیر از خوراک XML خارجی به ساختار داده داخلی است.
Tooling همچنین به JSON متکی است. زیباسازهای JSON، اعتبار سنجی، اعتبار سنجی طرحواره، زبان های پرس و جو (jq، JSONPath) و بینندگان فراوان هستند. معادل های XML کمتر و اغلب قدیمی تر هستند. کار در JSON اکوسیستم غنیتری از ابزارها را باز میکند.
XML را جایگذاری کنید، JSON دریافت کنید.
DOMParser یک XML DOM مشابه آنچه مرورگر برای صفحات XHTML استفاده می کند تولید می کند. مبدل این DOM را به صورت بازگشتی راه میدهد. برای هر عنصر یک شی JSON ایجاد میکند: ویژگیها به کلیدهایی تبدیل میشوند که با پیشوند @ هستند (به عنوان مثال، @id، @class). عناصر فرزند عنصر به همان ساختار بازگردانده می شوند. محتوای متنی، وقتی در کنار کودکان وجود دارد، زیر یک #کلید متنی زندگی می کند.
عناصر فرزند مکرر با همان نام تگ در یک آرایه JSON جمع آوری می شوند. یک فرزند از یک نام معین به عنوان یک مقدار شی ظاهر می شود. چند کودک به صورت آرایه ای از اشیاء ظاهر می شوند. این قرارداد در عمل به خوبی کار می کند، اما به این معنی است که شکل JSON به یک بار یا چند بار ظاهر شدن عناصر بستگی دارد - نقص شناخته شده نگاشت XML به JSON.
فضاهای نام به عنوان بخشی از نام عناصر (پیشوند:localName) حفظ می شوند. دستورالعمل های پردازش و بخش های CDATA به محتوای متنی تبدیل می شوند. اعلانهای XML و DOCTYPE از خروجی JSON حذف میشوند اما روی دادهها تأثیر نمیگذارند.