JSON Schema
JSON Schema مشخصاتی برای قالب مبتنی بر JSON برای تعریف ساختار داده های جیسون است. این Schema تحت پیش نویس IETF که در سال ۲۰۱۱ منقضی شد، نوشته شده است.
JSON Schema:
- قالب داده های موجود خود را توصیف می کند.
- اسناد تمیز و قابل خواندن برای انسان و دستگاه.
- اعتبارسنجی کامل ساختاری، مفید برای Automated Testing.
- اعتبارسنجی کامل ساختاری، اعتبارسنجی داده های ارسالی کلاینت.
کتابخانه های اعتبار سنجی JSON Schema
در حال حاضر چندین validator برای زبان های برنامه نویسی مختلف در دسترس است. کاملترین و سازگارترین آن ها JSV است.
زبان های برنامه نویسی | کتاخانه ها |
C | WJElement (LGPLv3) |
Java | json-schema-validator (LGPLv3) |
.NET | Json.NET (MIT) |
ActionScript 3 | Frigga (MIT) |
Haskell | aeson-schema (MIT) |
Python | Jsonschema |
Ruby | autoparse (ASL 2.0); ruby-jsonschema (MIT) |
PHP | php-json-schema (MIT). json-schema (Berkeley) |
JavaScript | Orderly (BSD); JSV; json-schema; Matic (MIT); Dojo; Persevere (modified BSD or AFL 2.0); schema.js. |
مثال JSON Schema
در زیر یک مثال از JSON schema را مشاهده می کنید که کاتالوگ محصولات کلاسیک را شرح می دهد.
{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "Product", "description": "A product from Acme's catalog", "type": "object", "properties": { "id": { "description": "The unique identifier for a product", "type": "integer" }, "name": { "description": "Name of the product", "type": "string" }, "price": { "type": "number", "minimum": 0, "exclusiveMinimum": true } }, "required": ["id", "name", "price"] }
در جدول زیر می توانید مهمترین کلمات کلیدی قابل استفاده در Schema را مشاهده کنید:
ردیف | توضیحات |
۱ | $schema
کلمه کلیدی $schema بیان می کند که این schema با توجه به مشخصات پیش نویس v4 نوشته شده است. |
۲ | title
به منظور مشخص کردن یک عنوان برای schema استفاده می شود. |
۳ | description
توضیحات مختصری در مورد schema. |
۴ | type
اولین محدودیت را بر روی داده های JSON ما تعریف می کند (باید یک JSON Object باشد). |
۵ | properties
کلیدهای مختلف را به همراه نوع مقادیر، کمترین و بیشترین مقداری قابل پذیریش برای استفاده در فایل JSON تعریف می کند. |
۶ | required
لیستی از پراپرتی های لازم را نگه می دارد. |
۷ | minimum
این محدودیتی است که بر روی مقدار اعمال می شود و کمترین مقداری قابل پذیرش را نشان می دهد. |
۸ | maximum
این محدودیتی است که بر روی مقدار اعمال می شود و بیشترین مقداری قابل پذیرش را نشان می دهد. |
۹ | maxLength
طول رشته نمونه به عنوان حداکثر تعداد کاراکترهای آن تعریف شده است. |
۱۰ | minLength
طول رشته نمونه به عنوان حداقل تعداد کاراکترهای آن تعریف شده است. |
۱۱ | pattern
اگه نمونه رشته با عبارت منظم مطابقت داشته باشد، معتر است. |
برای مشاهده لیست کامل کلمات کلیدی قابل استفاده در schema می توانید به سایت json-schema.org مراجعه کنید. Schema تعریف شده در بالا می تواند برای بررسی اعتبار کد زیر قابل استفاده است.
[ { "id": 2, "name": "An ice sculpture", "price": 12.50, }, { "id": 3, "name": "A blue mouse", "price": 25.50, } ]
نوشته JSON Schema – آموزش JSON اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.