JSON (JavaScript Object Notation) جدید REST APIs، GraphQL اینڈ پوائنٹس، ڈیٹا بیس کوئریز اور کنفیگریشن فائلوں کا عالمی ڈیٹا ایکسچینج فارمیٹ ہے۔ تاہم خام JSON گہری کی ویلیو درجہ بندیوں کے طور پر کوڈ ریویوز، دستاویزات یا ٹیم پریزنٹیشنز کے دوران تیزی سے اسکین کرنا مشکل ہے۔ تکنیکی مصنفین، سافٹ ویئر انجینئرز، devops ماہرین اور پروڈکٹ مینیجرز اکثر خام JSON ریکارڈز کو صاف، ساختہ Markdown ٹیبلز میں بدلنا چاہتے ہیں جو GitHub README.md فائلوں، Notion دستاویزی صفحات، Jira ٹکٹس اور تکنیکی وضاحت دستاویزات کے لیے موزوں ہوں۔
جدول JSON فارمیٹس سمجھنا
JSON پے لوڈ کو Markdown ٹیبل میں صاف تبدیل ہونے کے لیے بنیادی ڈیٹا ڈھانچہ مثالی طور پر ریکارڈز کی فہرست ظاہر کرے۔ سب سے سیدھا ان پٹ JSON اری ہے یکساں کیز والے آبجیکٹس کے ساتھ:
[
{ "id": "USR-101", "name": "Alice Smith", "role": "Backend Engineer", "status": "Active" },
{ "id": "USR-102", "name": "Bob Jones", "role": "Frontend Developer", "status": "Pending" },
{ "id": "USR-103", "name": "Carol Danvers", "role": "DevOps Lead", "status": "Active" }
]
اس معیاری ساخت میں ہر منفرد کی (id، name، role، status) Markdown ٹیبل ہیڈر کالم بنتی ہے، جبکہ ہر آبجیکٹ اندراج براہِ راست ٹیبل قطار سے میپ ہوتا ہے۔
غیر معیاری یا متفاوت JSON ان پٹ ہینڈلنگ
حقیقی دنیا API رسپانسز اور ڈیٹا بیس ایکسپورٹس شاذ و نادر بالکل یکساں ڈھانچوں کی پیروی کرتے ہیں۔ اکثر JSON پے لوڈز غائب اوصاف، اختیاری فیلڈز جو صرف کچھ آبجیکٹس میں ہوں، یا متحرک کیز والے ڈکشنری میپس فیچر کرتے ہیں۔ Utiliome یہ ایج کیسز ہموار سنبھالتا ہے:
- آبجیکٹس پر متفاوت کیز: اگر پہلا آبجیکٹ
{ "a": 1, "b": 2 }رکھے اور دوسرا{ "b": 2, "c": 3 }، Utiliome تمام منفرد کیز (a،b،c) ہیڈر قطار میں جمع کرتا ہے۔ مخصوص قطاروں میں غائب پراپرٹیز کے لیے ٹول گرڈ الائنمنٹ محفوظ رکھنے کے لیے خالی سیلز خودکار داخل کرتا ہے۔ - JSON ڈکشنری آبجیکٹس: جب ان پٹ اری کے بجائے آبجیکٹس کی کی ویلیو ڈکشنری ہو، Utiliome دو کالم 'Key | Value' ٹیبل بناتا ہے، ٹاپ لیول کیز Key کالم میں اور ان کے compact JSON ویلیوز Value کالم میں۔
- اسکیلر اریز: اگر سادہ سٹرنگ یا عددی ویلیوز کی اری پیش کی جائے، Utiliome صاف ایک کالم 'Value' ٹیبل بناتا ہے، فی آئٹم ایک قطار۔
Markdown تبدیلی الگورتھم کا قدم بہ قدم بریک ڈاؤن
ہڈ کے نیچے JSON کو GitHub-Flavored Markdown (GFM) ٹیبل میں بدلنا الگورتھمک تبدیلیوں کی ترتیب مانگتا ہے:
- کی کلیکشن اور ڈی ڈپلی کیشن: کنورٹر JSON اری کے ہر آئٹم پر اعادہ کرتا ہے، منفرد کیز کی ماسٹر فہرست جمع کرتے ہوئے ساختی ترتیب برقرار رکھتا ہے۔
- ہیڈر تعمیر: ماسٹر کی فہرست پائپ (
|) ڈیلیمیٹرز سے جوڑی جاتی ہے۔ مثلاً| id | name | role | status |۔ - ڈیلیمیٹر لائن: دوسری قطار معیاری GFM ٹیبل سیپریٹرز (
|---|) سے کالم حدود بتاتی ہے۔ - قطار میپنگ اور حرف ایسکیپنگ: ہر JSON آبجیکٹ ماسٹر کی فہرست کے خلاف جانچا جاتا ہے۔ سٹرنگ ویلیوز میں خاص Markdown حروف—خاص طور پر عمودی پائپس (
|) اور لائن بریکس (\n)—خودکار ایسکیپ یا تبدیل ہوتے ہیں (مثلاً newlines کو<br>) تاکہ Markdown ٹیبل سیل حدود نہ ٹوٹیں۔
Utiliome کے خودکار کنورٹر سے ڈویلپرز دستی پائپ نحو فارمیٹنگ، فارمیٹنگ غلطیاں اور ٹیکسٹ ایڈیٹرز میں تکلیف دہ ٹیبل ایڈجسٹمنٹس ختم کرتے ہیں۔
اسکرپٹڈ jq ورک فلو کے لیے دیکھیں jq سے JSON API جوابات کو Markdown ٹیبلز میں بدلنا۔