
JSON از نظرات طراحی پشتیبانی نمی کند. این بدان معنی است که شما نمی توانید از نظرات کد سنتی استفاده کنید (//، /* .. */یا #) برای افزودن اطلاعات به عنوان نظر در داده های JSON خود.
تنها یک راه حل برای اضافه کردن نظرات در JSON با افزودن یک عنصر JSON با کلیدی مانند “_comment” و مقداری است که نظر است..
این راهنمای سریع به شما می آموزد که چرا نظرات کد در JSON امکان پذیر نیست و چگونه می توانید نظرات را در JSON با یک راه حل ساده اضافه کنید.
چرا JSON از نظرات پشتیبانی نمی کند؟
بهعنوان یک توسعهدهنده نرمافزار، میدانید که نظرات کد گاهی چقدر ارزشمند هستند.
در حالی که همیشه باید کدی بنویسید که خود را به اندازه کافی بیان کند که نظرات کد ضروری نباشد، گاهی اوقات آنها ضروری هستند! به عنوان مثال، اگر برخی از کدها کمی غیر استاندارد هستند اما برای نیازهای پروژه خاص مورد نیاز هستند، ممکن است نیاز به توضیح داشته باشند.
حتما راهنمای کامل من در مورد نحوه کامنت گذاشتن کد را بخوانید.
در کمال تعجب، فرمت داده JSON اجازه کامنت بر اساس طراحی را نمی دهد. اما دلیل بزرگی وجود دارد که چرا اینطور نیست. در واقع، در گذشته JSON از نظرات پشتیبانی می کرد.
در اینجا چیزی است که خالق JSON، داگلاس کراکفورد، در مورد اینکه چرا JSON از JSON پشتیبانی نمی کند، می گوید:
I removed comments from JSON because I saw people were using them to hold parsing directives, a practice which would have destroyed interoperability.
بیایید یک لحظه وقت بگذاریم تا روشن کنیم که این به چه معناست.
در روزهای اولیه JSON، توسعهدهندگان دستورات تجزیهکننده خاص را که دستورالعملهای تجزیه نامیده میشوند، در فایلهای JSON به عنوان کامنت ذخیره میکردند.
یک دستورالعمل تجزیه رفتار فایل JSON را بر اساس تجزیه کننده مورد استفاده تغییر می دهد. این می تواند منجر به تفاوت در رفتار یک فایل JSON بسته به مرورگر مورد استفاده شود.
خالق JSON معتقد است که افزودن این دستورالعمل های تجزیه به عنوان یک نظر در JSON یک ایده بد و عملی است که می تواند به قابلیت همکاری JSON آسیب برساند. به همین دلیل است که او تصمیم گرفت نظرات را در JSON حذف کند.
توجه داشته باشید که اگرچه افزودن دستورالعملهای تجزیه دیگر در قالب نظرات JSON امکانپذیر نیست، اما همچنان میتوان آنها را به عنوان مثال رشتهای به دادههای JSON اضافه کرد.
به همین دلیل حذف نظرات JSON یک تصمیم بحث برانگیز بود. برخی استدلال می کنند که حذف نظرات فقط JSON را بدتر می کند زیرا توسعه دهندگان از هک استفاده می کنند تا بتوانند نظرات را در داده های JSON درج کنند.
چگونه در JSON نظر اضافه کنیم؟
در ضمن اضافه کردن نظرات واقعی در JSON امکان پذیر نیست، دو راه حل اصلی وجود دارد.
- یک فیلد «_comment» به دادههای JSON اضافه کنید.
- از JSON minifier برای حذف نظرات با کد جاوا اسکریپت استفاده کنید.
1. یک فیلد “_comment” اضافه کنید.
واضح ترین راه حل برای افزودن نظر در JSON، افزودن یک عنصر نظر خاص به داده های JSON است.
مثلا:
{ "_comment": "This is just an example comment in JSON", "name": "Alice", "age": 20, "married": false, "hobbies": ["Gym". "Jogging", "Bouldering"] }
در اینجا نظر با کلید مرتبط است_اظهار نظر“.
توجه داشته باشید که این نوع نظر یک نظر واقعی نیست، بلکه دادههای JSON معتبر مانند هر جفت کلید-مقدار دیگر در دادهها است.
همچنین برای جلوگیری از سردرگمی احتمالی، حتما یک پیشوند برجسته به قسمت نظر اضافه کنید. در مثال بالا از “_اظهار نظر” بجای “اظهار نظر“. این به این دلیل است که اگر یک فیلد JSON واقعی به نام “اظهار نظر‘، شما به طور تصادفی معنای آن را بازنویسی نمی کنید.
2. از JSON Minifier با جاوا اسکریپت استفاده کنید
راه دیگر برای افزودن نظر JSON، افزودن نظرات است، اما با استفاده از یک مینیفایر JSON برای حذف نظرات قبل از استفاده از JSON.
به عنوان مثال، اینجا یک کتابخانه جاوا اسکریپت خارجی است، JSON.minify() که JSON را از نظرات و فضای خالی حذف می کند.
به عنوان مثال، در اینجا ورودی JSON است:
const my_json = { /* This is an example JSON comment with multiple lines of text that is going to be removed by a JSON minifier */ "name": "Alice", "age": 20, "married": false, "hobbies": ["Gym". "Jogging", "Bouldering"] }
حالا بیایید JSON را از طریق Minifier اجرا کنیم:
JSON.parse(JSON.minify(my_json))
خروجی:
{ "name": "Alice", "age": 20, "married": false, "hobbies": ["Gym". "Jogging", "Bouldering"] }
این باعث لغو نظر JSON می شود و داده های JSON آن را معتبر می کند.
خلاصه
شما نمی توانید نظرات را در JSON بر اساس طراحی اضافه کنید. اما راه حل هایی وجود دارد که هنوز این امکان را فراهم می کند. قابل توجه ترین راه حل اضافه کردن یک فیلد «_comment» (یا مشابه) است که در آن نظر را قرار می دهید. اما نکته منفی این است که نظر بخشی از داده های JSON می شود، نه یک نظر نادیده گرفته شده مانند زبان های کدنویسی.
راه دیگر برای افزودن نظرات در JSON استفاده از یک کتابخانه کد خارجی مانند JSON.minify() در جاوا اسکریپت این کتابخانه نظرات را از داده های JSON قبل از استفاده حذف می کند. بنابراین وقتی JSON نظر داده شده را ارسال می کنید، نظرات حذف می شوند و گیرنده هرگز آنها را نمی بیند!
با تشکر برای خواندن. کد نویسی مبارک!
همچنین بخوانید
نحوه کامنت گذاشتن کد