JSON (نشانهگذاری شیء JavaScript) قالب جهانی تبادل داده برای API مدرن REST، نقطه پایانی GraphQL، پرسوجوی پایگاه و فایل پیکربندی است. اما JSON خام قالبشده بهصورت سلسلهمراتب عمیق کلید-مقدار بدنام است که هنگام بازبینی کد، نگارش مستندات یا ارائه تیمی سریع اسکن نمیشود. نویسنده فنی، مهندس نرمافزار، متخصص DevOps و مدیر محصول غالباً نیاز دارند رکورد JSON خام را به جدول Markdown روشن و ساختیافته مناسب فایل 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 جدول دوستونه «کلید | مقدار» میسازد، کلید سطح بالا را در ستون کلید و مقدار فشرده JSON را در ستون مقدار میگذارد.
- آرایه اسکالر: اگر با آرایه مقدار ساده رشته یا عددی ارائه شود، Utiliome جدول تمیز تکستونه «مقدار» میسازد با یک ردیف در هر قلم.
تجزیه گامبهگام الگوریتم تبدیل Markdown
در لایه زیرین، تبدیل JSON به جدول GitHub-Flavored Markdown (GFM) توالی تبدیل الگوریتمی میخواهد:
- جمع کلید و حذف تکراری: مبدل روی هر قلم آرایه JSON تکرار میکند، فهرست اصلی کلید یکتا را جمع میکند در حالی که ترتیب ساختاری را حفظ میکند.
- ساخت سرآیند: فهرست کلید اصلی با جداکننده لوله (
|) پیوسته میشود. مثلاً| id | name | role | status |. - خط جداکننده: ردیف دوم با مشخص کردن مرز ستون با جداکننده استاندارد جدول GFM (
|---|) ساخته میشود. - نگاشت ردیف و گریز نویسه: هر شیء JSON در برابر فهرست کلید اصلی ارزیابی میشود. نویسه ویژه Markdown داخل مقدار رشته—مشخصاً لوله عمودی (
|) و شکست خط (\n)—خودکار گریخته یا تبدیل میشود (مثلاً تبدیل خط جدید به<br>) تا مرز سلول جدول Markdown نشکند.
با تکیه به مبدل خودکار Utiliome، توسعهدهنده قالب دستی نحو لوله، خطای قالب و تنظیم دردناک جدول در ویرایشگر متن را حذف میکند.
برای گردشکار اسکریپتی jq، ببینید تبدیل پاسخ API JSON به جدول Markdown با jq.