تبدیل XML به JSON
دادهها را از پاسخ SOAP، فید RSS، فایل پیکربندی یا خروجی یک سیستم قدیمی بیرون بکشید و به JSON تبدیل کنید که JavaScript، Python یا ابزار بدونکدنویسی شما مستقیماً آن را میخواند، بیآنکه لازم باشد خودتان پارسر بنویسید.
مبدل داده
یا فایلهای CSV, TSV, TXT … را اینجا رها کنید ·
حداکثر 95 MB برای هر فایل· تا 20 فایل· حذف پس از 30 دقیقه
فایلها روی سرورهای ما پردازش میشوند و پس از 30 دقیقه حذف میشوند.
نویسهای که ستونها را در فایلهای CSV و متنی جدا میکند، هم برای خواندن و هم برای نوشتن. حالت خودکار آن را از ورودی تشخیص میدهد و با ویرگول مینویسد.
UTF-8 برای همه زبانها کار میکند. اگر Excel در ویندوز هنگام باز کردن CSV نویسههای اروپایی یا آسیایی را خراب نشان میدهد، UTF-8 با BOM را انتخاب کنید.
ورودی Excel، ODS و Numbers: فقط برگه اول تبدیل شود یا همه برگهها (برای هر برگه یک CSV داخل ZIP، یا برای هر برگه یک کلید JSON).
نام زبانه برگه در صفحهگسترده جدید، حداکثر 31 نویسه.
آرایهای از شیءها برای هر ردیف از نام ستونها بهعنوان کلید استفاده میکند؛ آرایهای از آرایهها فشردهتر است و سرستون را بهعنوان آرایه اول نگه میدارد.
نام عنصر بیرونی که همه ردیفها را در بر میگیرد؛ هر ردیف داخل آن به یک <row> تبدیل میشود.
در دستورهای CREATE TABLE و INSERT استفاده میشود. فقط حروف انگلیسی، ارقام و زیرخط.
نقلقولگذاری و نوع ستونها بین پایگاههای داده کمی فرق دارد؛ همان را که میخواهید در آن وارد کنید انتخاب کنید.
سلولهای تاریخ را در یک قالب بازنویسی میکند. ISO (2026-10-18) برای پایگاه داده و کد امنترین است؛ «بدون تغییر» آنها را همانطور که در منبع هستند نگه میدارد.
نحوه استفاده از این ابزار
- 1
فایل XML را بارگذاری کنید
فایلهای .xml را در بخش بارگذاری رها کنید؛ حداکثر ۲۰ فایل در هر دسته و هر کدام تا 95 MB. هر فایل جداگانه تبدیل میشود.
- 2
حالت خوانا یا فشرده را انتخاب کنید
گزینهی قالببندی خوانا روشن است و JSON را برای خواندن و بازبینی کد تورفتگی میدهد. برای گرفتن کوچکترین خروجی تکخطی برای بدنهی API، آن را در تنظیمات پیشرفته خاموش کنید.
- 3
تبدیل کنید و از JSON استفاده کنید
روی تبدیل به JSON ← بزنید، فایل .json را دانلود کنید و در کد یا ابزار خود بارگذاری کنید.
XML را بارگذاری کنید و تبدیل به JSON ← را بزنید: عنصرها به کلید، عنصرهای تکراری به آرایه و ویژگیها به کلیدهایی با پیشوند @ تبدیل میشوند، پس هیچ اطلاعاتی از تگها از دست نمیرود.
چه کسانی به مبدل XML به JSON نیاز دارند
XML 1.0 در فوریهی 1998 به توصیهنامهی W3C تبدیل شد و تا یک دههی بعد، راه گفتوگوی سیستمها بود: سرویسهای وب SOAP، فیدهای RSS و Atom، اسناد Office، پیامهای بانکی و کاتالوگ محصولات. بسیاری از آن سیستمها هنوز در حال کارند. JSON که در RFC 8259 مشخص شده، APIهای وب جدید را در دست گرفت، چون جاوااسکریپت بدون کتابخانهی پارسر آن را میخواند و تقریباً در همهی زبانها مستقیماً با لیست و دیکشنری متناظر است.
بنابراین کسانی که تبدیل میکنند معمولاً میان این دو دوره پل میزنند. توسعهدهندهی فرانتاند پاسخ SOAP را از یک ارائهدهندهی پرداخت یا حملونقل میگیرد و شیء ساده میخواهد. سازندهی اتوماسیون در Zapier یا Make فید XML یک تأمینکننده را وارد جریانی میکند که با JSON بهتر کار میکند. مهندس داده فایلهای پیکربندی یک برنامهی قدیمی جاوا را منتقل میکند، یا دانشجویی فید RSS را برای یک پروژهی درسی بهصورت JSON لازم دارد. همه همان ساختار را بدون کروشههای زاویهدار میخواهند.
تبدیل XML به JSON: نگاشت تگها، ویژگیها و متن
<order id="A-77"> <customer>Lena Ortiz</customer> <total currency="EUR">59.90</total> <item sku="0042">چراغ مطالعه</item> <item sku="0108">لامپ LED</item> </order>
| ساختار XML | نمونه | نتیجه در JSON |
|---|---|---|
| عنصر ریشه | <order> | کلید سطح بالای order |
| ویژگی (attribute) | id="A-77" | "@id": "A-77" |
| عنصر فقط با متن | <customer> | "customer": "Lena Ortiz" |
| متن بههمراه ویژگی | تگ <total currency="EUR"> | {"@currency": "EUR", "#text": "59.90"} |
| عنصر تکراری | دو تگ <item> | آرایهی "item": [ … , … ] |
| نظر (comment) | <!-- note --> | حذف میشود؛ JSON نظر ندارد |
XML
Extensible Markup Language
XML زبان نشانهگذاری برای دادههای ساختاریافته است که W3C در سال 1998 منتشر کرد. از برچسبهای تودرتو با ویژگیها استفاده میکند و از طرحواره، فضای نام و اعتبارسنجی پشتیبانی میکند، به همین دلیل برای اسناد پیچیده مطمئن است. زیربنای فیدهای RSS، SVG، اسناد Office، نقشههای سایت و بسیاری از تبادلهای داده سازمانی و دولتی است. XML در مقایسه با JSON پرحجمتر است، اما همه زبانهای برنامهنویسی و بسیاری از ابزارهای صفحهگسترده میتوانند آن را بخوانند.
- فشردهسازی
- –
- شفافیت
- –
- انیمیشن
- –
- سال معرفی
- 1998 · W3C
JSON
نشانهگذاری شیء جاوااسکریپت (JSON)
JSON یک فرمت متنی سبک برای دادههای ساختاریافته است که Douglas Crockford در اوایل دهه 2000 آن را رایج کرد و با عنوان RFC 8259 و ECMA-404 استاندارد شد. اشیا، آرایهها، رشتهها، اعداد، مقادیر بولی و null را با نحوی ساده و خوانا نمایش میدهد. این فرمت پیشفرض APIهای وب، فایلهای پیکربندی و تبادل داده بین برنامهها در تقریباً همه زبانهای برنامهنویسی است. توضیحات، تاریخ یا طرحواره ندارد و فایلهای بزرگ تودرتو بدون نمایشگر سخت خوانده میشوند.
- فشردهسازی
- –
- شفافیت
- –
- انیمیشن
- –
- سال معرفی
- 2001 · Douglas Crockford
وقتی دادهی یک سیستم قدیمیتر یا سازمانی باید به یک برنامهی وب، اسکریپت یا ابزار اتوماسیون برسد، XML به JSON تبدیل میشود: JSON در جاوااسکریپت بهطور بومی پارس میشود و مستقیماً با دیکشنریهای پایتون متناظر است.
ویژگیهایی از XML که در JSON جایی ندارند
هر دو قالب درخت را توصیف میکنند، اما XML امکانات اضافهای دارد که JSON هرگز نداشته است. فضاهای نام که W3C در 1999 تعریف کرد، اجازه میدهند یک سند واژگانهایی مانند soap: و xsi: را با هم ترکیب کند؛ در JSON فقط بهعنوان بخشی از نام کلیدها میمانند. نظرها و دستورهای پردازشی جایی ندارند و حذف میشوند. محتوای مختلط، یعنی متنی که میان تگهای فرزند آمده، مانند پاراگراف XHTML با یک کلمهی پررنگ، در XML معتبر است اما در JSON دستوپاگیر میشود؛ پس XML سندمانند بهتر است به HTML یا Markdown تبدیل شود تا JSON.
ترتیب نکتهی ظریفتر است. XML عنصرهای همسطح را بهترتیب نگه میدارد و ممکن است یک اسکیما به آن تکیه کند؛ طبق استاندارد، کلیدهای شیء JSON بیترتیباند. عنصرهای تکراری ترتیب خود را درون آرایه حفظ میکنند و این بیشتر دادههای واقعی را پوشش میدهد. اگر XML فهرست سادهای از رکوردهاست که باید به جای کد در صفحهگسترده بنشیند، تبدیل XML به اکسل مستقیماً سطر و ستون میدهد و تبدیل XML به CSV فایلی برای ورود به پایگاه داده میسازد.
پرسشهای رایج دربارهٔ تبدیل XML به JSON
چرا یک عنصر در یک فایل آرایه است و در فایل دیگر شیء؟
مبدل فقط همان چیزی را میبیند که در سند هست. اگر یک سفارش سه تگ item داشته باشد، items آرایه میشود؛ اگر یکی داشته باشد، چیزی برای تکرار وجود ندارد و به یک شیء تکی تبدیل میشود. کدی که JSON را میخواند باید هر دو حالت را بپذیرد، یا پیش از حلقه، شیء تکی را درون یک آرایه قرار دهد.
ویژگیهای XML در JSON چگونه نوشته میشوند؟
هر ویژگی (attribute) به کلیدی تبدیل میشود که پیش از نامش @ آمده است؛ پس currency="EUR" به "@currency": "EUR" تبدیل میشود. وقتی یک عنصر هم ویژگی دارد و هم متن، متن در کلید #text کنار آنها قرار میگیرد. این قرارداد از تداخل ویژگیها و عنصرهای فرزند با نام مشترک جلوگیری میکند.
آیا اعداد داخل XML به عدد JSON تبدیل میشوند؟
XML نوع دادهی خاص خودش را ندارد؛ 42 و "42" در یک تگ یکسان دیده میشوند. به همین دلیل مقدارها بهصورت رشته خارج میشوند و کدپستیها و شناسههایی مثل 007 سالم میمانند. فیلدهای موردنیاز کدتان را پس از پارس به عدد تبدیل کنید.
پیشوندهای فضای نام مانند soap:Envelope چه میشوند؟
پیشوند بخشی از نام کلید باقی میماند؛ پس envelope بهصورت soap:Envelope و اعلان فضای نام بهصورت کلید @xmlns:soap دیده میشود. این کار عنصرهای واژگانهای مختلف را از هم جدا نگه میدارد؛ اگر فقط با یکی کار میکنید، پیشوندها را در کدتان حذف کنید.
آیا میتوانم بعداً JSON را دوباره به XML تبدیل کنم؟
بله، با تبدیل JSON به XML. با همان قرارداد @ و #text، ویژگیها دوباره به صورت ویژگی برمیگردند. نظرها (comments) و تورفتگی اصلی برنمیگردند، چون JSON هرگز آنها را نگه نداشته است.
- تبدیل JSON به XMLتبدیل آنلاین JSON به XML: کلیدها عنصر میشوند، آرایهها عنصرهای تکراری، همه درون تگ ریشهای با نام دلخواه شما. خروجی مرتب، بدون ثبتنام.
- تبدیل XML به CSVتبدیل آنلاین فید، فاکتور و خروجی سیستم از XML به CSV. رکوردهای تکراری ردیف و تگهای فرزند ستون میشوند. تا 20 فایل، هر کدام 95 MB.
- تبدیل XML به اکسلفاکتور XML، صورتحساب بانکی، فید محصول و خروجی سیستمها را به جدول XLSX اکسل تبدیل کنید؛ بدون XML map یا زبانه Developer، روی مک هم کار میکند.
- تبدیل YAML به JSONفایلهای .yaml و .yml را برای APIها، اعتبارسنجها و ابزارهای JSONخوان به JSON تبدیل کنید. خروجی مرتب، تا 20 فایل، حذف فایلها پس از 30 دقیقه.
- تبدیل HTML به JSONجدول HTML را به JSON تبدیل کنید: سلولهای سرستون کلید و هر ردیف یک آبجکت میشود. صفحههای .html یا .htm را بارگذاری کنید، بدون نیاز به کد.
- تبدیل JSON به YAMLتبدیل آنلاین JSON به YAML برای فایلهای Kubernetes، GitHub Actions، Compose و Ansible. خروجی تورفته و ایمن در نقلقول، 20 فایل در هر نوبت، بدون حساب.