XML سے JSON کنورژن کیسے کام کرتی ہے
یہ ٹول آپ کی XML کو ایک دستاویزی شجرہ (document tree) میں ترتیب دیتا ہے اور قابلِ اندازہ اصولوں کے مطابق اسے JSON میں بدل دیتا ہے۔ عناصر، آبجیکٹس بن جاتے ہیں، صفات محفوظ رکھی جا سکتی ہیں، اور ایک ہی سطح پر دہرائے گئے ہم مرتبہ عناصر فہرستیں بن جاتے ہیں۔ سب کچھ براہِ راست آپ کے براؤزر میں ہوتا ہے، اس لیے کچھ بھی اپلوڈ یا محفوظ نہیں ہوتا۔
یہ ٹول کب استعمال کریں
XML فیڈز، برآمدات اور ادارہ جاتی ربط میں بہت عام ہے۔ جدید ایپس میں JSON کے ساتھ کام کرنا زیادہ آسان ہوتا ہے۔ XML سے JSON تب مددگار ہے جب آپ کو صاف درآمد، API پے لوڈ یا ڈیولپر کے لیے موزوں ڈیٹا درکار ہو۔
- APIs: XML جوابات کو اسکرپٹس اور سروسز کے لیے JSON آبجیکٹس میں بدلیں۔
- فیڈز: RSS جیسے یا پروڈکٹ فیڈز کو JSON ڈیٹا ساختوں میں تبدیل کریں۔
- پرانے نظاموں کی برآمدات: XML برآمدات کو ایسے ٹولز میں منتقل کریں جو JSON قبول کرتے ہیں۔
- خودکاری: XML ایک بار ترتیب دیں اور مراحلِ کار میں JSON استعمال کریں۔
“الٹی” سمت چاہیے (JSON → XML)؟ ہمارا JSON سے XML کنورٹر آزمائیں۔ اگر آپ کو CSV فارمیٹ چاہیے تو یہ XML سے CSV کنورٹر استعمال کریں۔
کنورژن کے اصول
- عناصر: tag name کے مطابق keys کے ساتھ JSON آبجیکٹس بن جاتے ہیں۔
- صفات: اگر فعال ہوں تو
@کے اندر محفوظ ہوتی ہیں (مثلاً{"@":{"id":"123"}})۔ - متن: اگر فعال ہو تو
#textمیں محفوظ ہوتا ہے۔ “Smart” متن موڈ میں صرف متن والے عناصر سادہ عبارت بن جاتے ہیں۔ - دہرائے گئے ہم مرتبہ عناصر: خودکار طور پر فہرستیں بن جاتے ہیں (یا “Force” سے لازمی فہرستیں) تاکہ آؤٹ پٹ کی ساخت مستقل رہے۔
- نامیاتی حدود: tag names جوں کے توں رہتے ہیں (prefix سمیت)۔
مرحلہ وار: XML سے JSON
آپ کی XML کو تبدیل کرنے میں صرف چند سیکنڈ لگتے ہیں:
- اپنی XML فائلیں شامل کریں۔ اوپر والے باکس میں فائلیں drag & drop کریں یا اپنے ڈیوائس سے منتخب کرنے کے لیے کلک کریں۔
- آپشنز منتخب کریں۔ صفات، متنی نوڈز اور فہرستوں کے بارے میں فیصلہ کریں۔
- JSON میں تبدیل کریں۔ JSON میں تبدیل کریں پر کلک کریں۔ سب کچھ لوکل طور پر پروسیس ہوتا ہے۔
- آؤٹ پٹ محفوظ کریں۔ فائلیں ایک ایک کر کے محفوظ کریں یا تیار ہونے پر “سب محفوظ کریں” استعمال کریں۔
پرائیویسی، حدود اور یہ ٹول آپ کی فائلوں کو کیسے سنبھالتا ہے
FileYoga ایک سادہ اصول پر بنایا گیا ہے: آپ کی فائلیں آپ کے پاس رہتی ہیں۔ XML سے JSON کنورژن آپ کے براؤزر میں لوکل چلتی ہے، اس لیے آپ کا ڈیٹا FileYoga سرورز پر کبھی اپلوڈ نہیں ہوتا۔
صرف لوکل تبدیلی
تبدیلی آپ کے ڈیوائس پر، آپ کے براؤزر میں ہی چلتی ہے۔ آپ کی XML اپلوڈ نہیں ہوتی اور JSON آؤٹ پٹ آپ کی طرف ہی بنتا ہے۔
کوئی خفیہ نقل نہیں
جب آپ فہرست صاف کرتے ہیں یا ٹیب بند کرتے ہیں تو ٹول آپ کی فائلیں استعمال کرنا بند کر دیتا ہے اور سرور پر کوئی نقل محفوظ نہیں کرتا۔
کوئی مصنوعی حد نہیں
نہ paywalls، نہ quotas۔ واحد حدیں آپ کے ڈیوائس کی میموری اور آپ کے براؤزر کی صلاحیت ہیں۔
اکاؤنٹ کی ضرورت نہیں
سائن اپ کے بغیر کنورٹر استعمال کریں۔ صفحہ کھولیں، فائلیں کنورٹ کریں، اور کام مکمل ہونے پر نکل جائیں۔
بہترین نتائج کے لیے ٹپس
- اگر آپ کی XML میں دہرائے گئے tags ہیں تو فہرستوں کو “Auto” پر رہنے دیں تاکہ ہم سطح عناصر فہرست بن جائیں۔
- اگر آپ کو سخت یکسانیت چاہیے تو “Force arrays” منتخب کریں تاکہ ذیلی گروہ ہمیشہ فہرست ہوں۔
- اگر آپ صرف متن والے نوڈز کے لیے زیادہ صاف JSON چاہتے ہیں تو “Smart” متن موڈ استعمال کریں۔
- بہت بڑی XML فائلوں کے لیے ایک وقت میں ایک فائل کنورٹ کریں تاکہ میموری پر دباؤ کم رہے۔
مسائل کا حل
- Invalid XML error: ممکن ہے closing tags غائب ہوں یا characters غلط ہوں۔ تصدیق کریں اور دوبارہ کوشش کریں۔
- غیر متوقع فہرستیں: زیادہ قدرتی آؤٹ پٹ کے لیے array mode کو “Auto” رکھیں، یا سخت یکسانیت کے لیے “Force” منتخب کریں۔
- متن غائب ہے: یقینی بنائیں کہ “متنی نوڈز” میں Keep یا Smart منتخب ہے۔
- صفات غائب ہیں: “صفات” میں @attributes منتخب کریں۔
- ٹیب فریز ہو جاتا ہے: بہت بڑی یا گہری nested XML میموری limits تک پہنچ سکتی ہے۔ ایک وقت میں ایک فائل کنورٹ کریں اور دیگر heavy tabs بند کریں۔
اکثر پوچھے گئے سوالات
نہیں۔ XML سے JSON کنورژن آپ کے براؤزر میں لوکل چلتی ہے۔ آپ کی XML فائل کبھی FileYoga سرورز پر اپلوڈ نہیں ہوتی، اور JSON آؤٹ پٹ آپ کے ڈیوائس پر بنتا ہے۔
اگر آپ صفات رکھیں تو وہ عنصر کے آبجیکٹ میں @ key کے تحت محفوظ ہوتی ہیں۔
مثال: {"@":{"id":"123","type":"primary"}}۔ اگر آپ “Drop attributes” منتخب کریں تو وہ ہٹا دی جاتی ہیں۔
جب متن رکھا جائے تو وہ #text کے تحت آتا ہے۔ Smart موڈ آؤٹ پٹ کو صاف بناتا ہے:
اگر کسی عنصر میں صرف متن ہو (نہ ذیلی عناصر اور نہ صفات) تو وہ آبجیکٹ کے بجائے سادہ عبارت بن جاتا ہے۔
اگر عنصر میں صفات یا ذیلی عناصر ہوں تو Smart موڈ متن کو #text کے تحت ہی رکھتا ہے۔
“Auto” mode میں ہم سطح پر دہرائے گئے tags صرف تب فہرست بنتے ہیں جب وہ ایک ہی parent کے تحت ایک سے زیادہ بار آئیں۔ “Force arrays” mode میں ذیلی گروہ ہمیشہ فہرست کے طور پر آؤٹ پٹ ہوتے ہیں، چاہے صرف ایک item ہی کیوں نہ ہو، جس سے خاکہ مستقل رہتا ہے۔
نہیں۔ اسے “mixed content” کہا جاتا ہے۔ اگر کسی عنصر میں nested عناصر کے ساتھ معنی خیز متن بھی ہو تو کنورٹر ذیلی عناصر کو keys کے طور پر رکھتا ہے
اور متن کو #text کے تحت محفوظ کرتا ہے (جب تک متن drop نہ کیا جائے)۔
اس سے آؤٹ پٹ قابلِ اندازہ اور واپس تبدیل کرنے کے قابل رہتی ہے۔
CDATA کو متن سمجھا جاتا ہے۔ اگر متن فعال ہو تو CDATA آؤٹ پٹ میں عام متن کی طرح آتا ہے
(Smart موڈ میں سادہ عبارت کے طور پر، یا #text میں جب عنصر میں صفات یا ذیلی عناصر ہوں)۔
نہیں۔ نامیاتی حدود والے tags جوں کے توں رہتے ہیں، prefix سمیت (مثلاً ns:Item)۔
اگر آپ کو prefixes ہٹانے یا rename کرنے کی ضرورت ہو تو پہلے JSON برآمد کریں اور پھر اپنی app یا script میں keys ایڈجسٹ کریں۔
“Invalid XML” عموماً missing closing tags، illegal characters یا malformed entities کی وجہ سے ہوتا ہے۔ اگر ساخت غیر متوقع لگے تو اکثر وجہ ہم سطح پر دہرائے گئے tags (فہرستیں)، mixed content، یا وہ صفات ہوتی ہیں جنہیں آپ نے drop کیا ہوتا ہے۔ پہلے صفات فعال کر کے اور فہرستوں کو “Auto” پر رکھ کر دوبارہ آزمائیں۔
کوئی مصنوعی حد نہیں۔ بہت بڑی XML فائلیں یا گہری nested ساختیں براؤزر کی میموری limits تک پہنچ سکتی ہیں یا ڈیوائس کو سست کر سکتی ہیں۔ اگر ایسا ہو تو ایک وقت میں ایک فائل کنورٹ کریں، دوسرے heavy tabs بند کریں، یا کنورژن سے پہلے XML کو سادہ کریں۔