این ابزار درست کار نمی‌کند؟

دربارهٔ ابزار «چک JSON با شِما آنلاین»

این ابزار اسناد JSON را در برابر یک JSON Schema تأیید می‌کند. طرحواره و داده‌ها را ارائه دهید، و ابزار هر ویژگی را در برابر نوع اعلام‌شده، فرمت، محدودیت‌ها و ساختار آن بررسی می‌کند — تمام نقض‌ها را با مسیرها گزارش می‌دهد تا بتوانید آنها را در داده‌های خود پیدا کنید.

JSON Schema استاندارد صنعت برای توصیف ساختار داده‌های JSON است. در مشخصات OpenAPI، اعتبارسنجی پیکربندی، اعتبارسنجی فرم، و قراردادهای درخواست/پاسخ API استفاده می‌شود.

اعتبارسنج از پیش‌نویس‌های اخیر (Draft 7، 2019-09، 2020-12) پشتیبانی می‌کند و ویژگی‌های پیچیده مانند مراجع $ref، طرحواره‌های شرطی (if/then/else)، و کدگذاری محتوا را مدیریت می‌کند. برای آزمایش قرارداد API، اعتبارسنجی فایل پیکربندی، و اطمینان از انطباق طرحواره قبل از پایداری داده‌ها مفید است.

چطور از این ابزار استفاده کنم؟

چطور یک sanity check ابتدایی JSON Schema روی داده انجام دهم؟

  1. Schema را بچسبانید

    JSON Schema را در فیلد «Schema» قرار دهید. ابزار فقط به `type` («object» / «array» / «string» / «number» / «boolean» / «null») و `required` (آرایه‌ای از نام property) نگاه می‌کند. کلیدواژه‌های دیگر مانند `properties`، `enum`، `pattern`، `format`، `minimum`، `items` اعمال نمی‌شوند.

  2. داده JSON را بچسبانید

    candidate document را در فیلد «Data» قرار دهید. هر دو فیلد باید JSON معتبر باشند — خطای syntax «Invalid Schema JSON.» یا «Invalid Data JSON.» قبل از اعتبارسنجی رخ می‌دهد.

  3. «اجرا» را بزنید

    خروجی `valid` (boolean) و `errors` (آرایه‌ای از stringها) را برمی‌گرداند. خطاها مثل «Type mismatch: expected number» یا «Missing required: id». `errors` خالی و `valid: true` یعنی smoke test پاس شده.

  4. وقتی به validator واقعی نیاز دارید

    این smoke test است، نه پیاده‌سازی Draft-2020-12. برای ویژگی‌های کامل Schema ($ref، allOf/anyOf، format checks، conditionals) از کتابخانهٔ واقعی مثل ajv روی server یا در Node استفاده کنید — feedback دقیق آنجا ارزشش را دارد.