راهنمای طرحواره JSON

طرحواره JSON

قبل از اینکه وارد طرحواره JSON شویم، مهم است که تفاوت بین JSON و JSON Schema را بدانیم.

JSON

JSON مخفف عبارت JavaScript Object Notation است و یک قالب داده مستقل از زبان است که APIها از آن برای ارسال درخواست ها و پاسخ ها استفاده می کنند. خواندن و نوشتن JSON برای افراد و ماشین ها به طور یکسان ساده است. JSON یک قالب مبتنی بر متن است که به زبان (مستقل از زبان) محدود نمی شود.

طرحواره JSON

JSON Schema یک ابزار مفید برای تأیید ساختار داده JSON است. برای مشخص کردن ساختار JSON، از فرمت مبتنی بر JSON استفاده کنید. هدف آن اطمینان از قابل قبول بودن داده های JSON است. قرارداد برای داده های JSON برنامه ما ممکن است با استفاده از طرحواره تعریف شود.

سه بخش اصلی برای مشخصات طرحواره JSON وجود دارد:

طرحواره هایپر JSON:

JSON Hyper-Schema یک زبان طرحواره JSON است که ممکن است برای برچسب گذاری اسناد JSON با پیوندها و دستورالعمل ها برای پردازش و تغییر منابع JSON خارجی از طریق محیط های مبتنی بر متن مانند HTTP استفاده شود. کلیک اینجا کلیک نمایید برای کسب اطلاعات بیشتر در مورد JSON Hyper-Schema.

هسته طرحواره JSON:

این مجموعه ای از قوانین برای برچسب زدن و اعتبارسنجی اسناد JSON است. 

هسته طرحواره JSON:

  • قالب داده ای را که در حال حاضر دارید توضیح می دهد. 
  • داده‌هایی را که می‌توان در آزمایش‌های خودکار استفاده کرد، تأیید می‌کند. 
  • اطمینان از صحت داده های ارائه شده توسط مشتریان.  
  • اسناد قابل خواندن را هم برای انسان و هم برای ماشین ها فراهم می کند. 

اعتبارسنجی طرحواره JSON:

اعتبار سنجی مبتنی بر طرحواره JSON محدودیت هایی را بر ساختار داده های نمونه اعمال می کند. پس از آن، هر کلمه کلیدی که فاقد ادعا باشد اطلاعاتمانند ابرداده های توصیفی و نشانه های استفاده، به موقعیت نمونه ای اضافه می شوند که تمام محدودیت های اعلام شده را برآورده می کند. 

ابزار اعتبارسنجی طرحواره JSON Newtonsoft ابزاری است که می‌توانید مستقیماً در مرورگر خود و رایگان از آن استفاده کنید. می توانید از این ابزار برای آزمایش ساختار طرحواره JSON خود استفاده کنید. این صفحه شامل کنترل‌ها و توضیحاتی برای شروع است. به این ترتیب، مشاهده چگونگی بهبود ساختار JSON خود آسان است.

می‌توانیم شیء JSON خود را با استفاده از ابزار اعتبارسنجی طرحواره JSON بررسی کنیم:

JSON Validator بدون خطا

ما اعتبار سنی داریم (حداقل = 20 و حداکثر = 40) همانطور که در شکل بالا نشان داده شده است. هیچ خطایی پیدا نشد.

JSON Validator با خطا

اگر اعتبار سنی اشتباه وارد شده باشد، خطا نشان می دهد.

ایجاد طرحواره JSON

بیایید به مثالی از JSON Schema نگاه کنیم تا ببینیم در مورد چه چیزی صحبت می کنیم. یک شی اصلی JSON که یک کاتالوگ محصول را توصیف می کند به شرح زیر است:

مثال JSON

طرحواره JSON آن ممکن است به صورت زیر نوشته شود:

نتیجه طرحواره JSON

طرحواره JSON یک سند JSON است و آن سند باید یک شی باشد. کلمات کلیدی اعضای شیء/ویژگی هایی هستند که توسط JSON Schema مشخص شده اند. «کلمات کلیدی» در طرحواره JSON به بخش «کلید» ترکیب کلید/مقدار در یک شی اشاره دارد. نوشتن یک طرحواره JSON شامل نگاشت یک کلمه کلیدی خاص به یک مقدار در یک شی است. 

بیایید نگاهی دقیق تر به کلمات کلیدی که در مثال خود استفاده کرده ایم بیندازیم: 

طرح JSON که طرح منبع مطابق با آن است با این ویژگی نوشته می شود. این طرح مطابق با استاندارد drafts v4 نوشته شده است، همانطور که توسط "طرحواره $" کلمه کلیدی. این باعث می شود که طرح شما به نسخه فعلی بازگردد، که ممکن است با نسخه های قدیمی سازگار باشد یا نباشد.

"عنوان"و"شرحکلمات کلیدی فقط توضیحی هستند. آنها هیچ محدودیتی برای داده های در حال بررسی اعمال نمی کنند. این دو کلمه کلیدی هدف طرحواره را توصیف می کنند: این طرح یک محصول را توصیف می کند.

"نوعکلمه کلیدی اولین شرط مرزی داده JSON ما را تعریف می کند. باید یک شی JSON باشد. اگر نوع را برای همه طرحواره ها تنظیم نکنیم، کد کار نمی کند. برخی از انواع رایج عبارتند از "عدد" "بولی" "عدد صحیح" "تهی" "شی" "آرایه" "رشته".

 

JSON Schema توسط کتابخانه های زیر پشتیبانی می شود:

 

زبان

کتابخانه

C

WJElement

پــایتــون

jschon

پی اچ پی

طرحواره Opis Json

جاوا اسکریپت

ajv

Go

gojsonschema

کوتلین

Medeia-Validator

یاقوت

JSONSchemer

JSON (Syntax)

بیایید نگاهی کوتاه به نحو اساسی JSON بیندازیم. نحو JSON زیرمجموعه ای از نحو جاوا اسکریپت است که شامل عناصر زیر است:

  • از جفت‌های نام/مقدار استفاده می‌شود که داده‌ها را نشان می‌دهند.
  • اشیاء در پرانتزهای مجعد قرار می گیرند و هر نام با یک ':' (دونقطه) هدایت می شود که جفت های ارزش با "،" (کاما) از هم جدا شده اند.
  • مقادیر با "،" (کاما) از هم جدا می شوند و آرایه ها در پرانتز قرار می گیرند.
مثال JSON Syntax

دو ساختار داده زیر توسط JSON پشتیبانی می شوند:

  • لیست مرتب شده مقادیر: این می تواند یک آرایه، یک لیست یا یک برداری باشد.
  • مجموعه جفت نام/مقدار: زبان های مختلف کامپیوتر از این ساختار داده پشتیبانی می کنند.

 

JSON (شیء)

طرحواره JSON یک شی JSON است که نوع و ساختار یک شی JSON متفاوت را مشخص می کند. یک عبارت شی جاوا اسکریپت می تواند یک شی JSON را در محیط های زمان اجرا جاوا اسکریپت نشان دهد. چند نمونه از اشیاء طرحواره معتبر به شرح زیر است:

طرح

کبریت

{}

هر ارزشی

{ type: 'object' }

یک شی جاوا اسکریپت

{نوع: 'شماره' }

یک شماره جاوا اسکریپت

{نوع: "رشته"}

یک رشته جاوا اسکریپت

به عنوان مثال:

ساخت یک شی جدید که خالی است:

var JSON_Obj = {};

ایجاد شی جدید:

var JSON_Obj = شیء جدید()

JSON (مقایسه با XML)

JSON و XML فرمت های قابل خواندن توسط انسان مستقل از زبان هستند. در سناریوهای دنیای واقعی، هم می توانند ایجاد کنند، هم بخوانند و هم رمزگشایی کنند. بر اساس معیارهای زیر، ممکن است JSON را با XML مقایسه کنیم.

پیچیدگی

از آنجایی که XML پیچیده تر از JSON است، برنامه نویسان JSON را ترجیح می دهند.

استفاده از آرایه ها

XML برای بیان داده های ساخت یافته استفاده می شود. با این حال، XML از آرایه ها پشتیبانی نمی کند، اما JSON از آرایه ها پشتیبانی می کند.

تجزیه

JSON با استفاده از تابع eval جاوا اسکریپت تفسیر می شود. eval هنگامی که با JSON استفاده می شود، شی توصیف شده را برمی گرداند.

 

مثال:

 

JSON

XML

{

   "شرکت": فراری،

   "نام": "GTS"،

   قیمت : 404000

}

 

 

ماشین فراری 

 

GTS 

 

404000 

 

مزایای طرحواره JSON

JSON برای منحرف شدن در زبانی که توسط انسان و ماشین قابل خواندن است طراحی شده است. با این حال، بدون برخی تنظیمات دقیق، نمی تواند هیچ کدام باشد. JSON Schema این مزیت را دارد که JSON را برای ماشین ها و انسان ها قابل درک تر می کند.

استفاده از JSON Schema همچنین نیاز به چندین به روز رسانی سمت مشتری را برطرف می کند. تهیه فهرستی از کدهای رایج HTML و سپس پیاده سازی آنها در سمت کلاینت، یک روش معمولی اما نادرست برای ساخت سمت مشتری است. API برنامه ها با این حال، این بهترین استراتژی نیست زیرا تغییرات در سمت سرور ممکن است باعث اختلال در عملکردهای خاص شود.

مزیت اصلی JSON Schema سازگاری آن با انواع زبان های برنامه نویسی و همچنین دقت و ثبات اعتبارسنجی است.

طرحواره JSON از طیف وسیعی از مرورگرها و سیستم های عاملبنابراین، برنامه‌هایی که با JSON نوشته شده‌اند، برای سازگار کردن همه آنها با مرورگر، تلاش زیادی نمی‌کنند. در طول توسعه، توسعه‌دهندگان چندین مرورگر را در نظر می‌گیرند، اگرچه JSON قبلاً این قابلیت‌ها را دارد.

JSON کارآمدترین راه برای به اشتراک گذاری داده ها در هر اندازه، از جمله صدا، تصویر و سایر رسانه ها است. این به خاطر این واقعیت است که JSON داده ها را در آرایه ها ذخیره می کند که انتقال داده ها را آسان تر می کند. در نتیجه، JSON بهترین فرمت فایل برای APIهای آنلاین و توسعه است.

همانطور که API ها رایج تر می شوند، منطقی است که فرض کنیم اعتبار سنجی و آزمایش API اهمیت فزاینده ای پیدا می کند. همچنین انتظار این است که JSON با گذشت زمان بسیار ساده تر نشود نیز واقع بینانه است. این بدان معناست که داشتن یک طرح واره برای داده های شما با گذشت زمان حیاتی تر می شود. از آنجایی که JSON فرمت استاندارد فایل برای کار با API است، JSON Schema جایگزین خوبی برای کسانی است که با API کار می کنند.