روی دستگاه شما اجرا میشود · فایل شما از دستگاهتان خارج نمیشود.
فایل .xml را رها کنید یا XML را از یک API، یک فید یا فایل پیکربندی بچسبانید و JSON قابل استفاده بگیرید. سند با تجزیهگر XML خود مرورگر و با کدگذاریای که خط اولش اعلام میکند خوانده میشود، پس هر چیز خوشساختی تبدیل میشود و فایل خراب با شمارهٔ خط و ستون مشکل و توضیح اینکه آنجا چه چیزی اشتباه است گزارش میشود.
نگاشت ثابت و برگشتپذیر است: هر عنصر یک کلید میشود؛ عنصرهای همنام کنار هم آرایه میشوند؛ صفتها زیر کلیدهایی با @ نگه داشته میشوند (id="A3" میشود "@id": "A3")؛ و وقتی عنصری هم متن دارد هم فرزند یا صفت، متن زیر "#text" میرود. عنصری که فقط متن دارد خودِ مقدار میشود.
با روشن بودن تشخیص نوع، متنی مثل 12، true یا عنصر خالی به عدد، بولی یا null تبدیل میشود؛ خاموشش کنید تا همهچیز متن بماند. نامهای دارای فضای نام (soap:Body) همانطور که نوشته شده میمانند. پیشنمایش ۲۰۰ خط اول را پیش از دانلود نشان میدهد.
مناسب نیست برای: سندهایی که XML خوشساخت نیستند (تگ بستهنشده، صفحهٔ HTML): تجزیهگر اولین مشکل را گزارش میکند، حدس نمیزند.
تشخیص نوع هم روی صفتها اعمال میشود و هم روی متن، و مقداری را فقط جایی تغییر میدهد که چیزی از دست نرود. با روشن بودنش id="3" میشود "@id": 3، در حالی که id="007" متن "007" میماند. 1.50 هم متن میماند، چون بهصورت عدد 1.5 بازنوشته میشد. TRUE به true تبدیل میشود. عنصر خالی مثل <note/>، و عنصری که فقط فاصله دارد، null میشوند؛ کلمهٔ NULL متن میماند. تاریخهایی مثل 2024-01-05 هرگز تبدیل نمیشوند.
با خاموش بودن تشخیص، عنصرهای خالی "" میشوند و هر مقدار دقیقاً همانطور که نوشته شده متن میماند.
بعضی بخشهای یک سند XML جایی در JSON ندارند و حذف میشوند: توضیحات (کامنتها)، دستورهای پردازشی و DOCTYPE. بخشهای CDATA متن معمولی میشوند، پس <a><![CDATA[<b>x</b>]]></a> میدهد "a": "<b>x</b>".
ترتیب میان عنصرهایی با نامهای مختلف از بین میرود، چون هر نام یک کلید میشود. در <step>1</step><note/><step>2</step> هر دو step در "step": [1, 2] جمع میشوند و هیچ چیز ثبت نمیکند که note میان آنها بوده است. متنی که با نشانهگذاری درآمیخته به همین شکل جایش را گم میکند: <p>Hello <b>world</b> and <i>you</i>!</p> میشود "b": "world"، "i": "you" و "#text": "Hello and !". برای سندهایی که همین ترتیب خودِ محتواست، مثل نثر قالببندیشده، این نگاشت مناسب نیست.
نامهای پیشونددار همانطور که نوشته شدهاند میمانند و اعلانهای فضای نام بهصورت صفت ظاهر میشوند: <soap:Envelope xmlns:soap="…"> کلید "soap:Envelope" را میدهد که "@xmlns:soap" را در خود دارد، و /json-to-xml هر دو را به همان XML برمیگرداند.
جز موجودیتهایی که DOCTYPE خود سند تعریف میکند، فقط پنج موجودیت داخلی XML (& < > " ') و موجودیتهای عددی مثل   شناخته میشوند. وقتی تجزیهگر متوقف شود، پیام خط و ستون را میدهد و به زبان ساده میگوید چه چیزی اشتباه است: عنصری که با نام دیگری بسته شده، نامی ناشناخته مثل (بهجایش   بنویسید)، یک & یا < تنها، عنصر دوم در بالاترین سطح، یا فایلی که زودتر از موعد تمام شده.
فایل با کدگذاریای خوانده میشود که خط اولش اعلام میکند، مثل ISO-8859-1 یا windows-1256. بدون اعلان، UTF-8 یا UTF-16 خوانده میشود و کدپیجهای قدیمیتر به همان شکلی شناخته میشوند که در /csv-to-json توضیح داده شده است.
این صفحه به زبانهای دیگر: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · اردو · Bahasa Indonesia · বাংলা