JSON Schema জেনারেটর

বাঁয়ে JSON পেস্ট করুন — ডানে স্কিমা দেখাবে, টাইপ করার সাথে সাথে।

JSON Schema

কীভাবে ব্যবহার করবেন

  1. বাঁয়ে একটি স্যাম্পল JSON নথি পেস্ট করুন — অবজেক্ট, অ্যারে বা একটি মান। স্কিমা লাইভ জেনারেট হয়, টাইপ করার সাথে সাথে।
  2. Schema ভার্সন (Draft 7 বা 2020-12) বেছে নিন, এবং স্ট্রিং-ফরম্যাট ডিটেকশন, উদাহরণ মান, ও সব প্রপার্টি রিকোয়ার্ড কিনা তা টগল করুন।
  3. ফলাফল কপি করুন বা schema.json হিসেবে ডাউনলোড করুন। কিছুই আপলোড হয় না: পুরো নথি আপনার ব্রাউজারে পার্স হয়।

উদাহরণ

স্যাম্পল JSON

{
  "id": 42,
  "name": "Ada Lovelace",
  "email": "ada@example.com",
  "active": true,
  "tags": ["admin", "editor"],
  "profile": { "score": 4.5, "verified": false }
}

JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "id": { "type": "integer" },
    "name": { "type": "string" },
    "email": { "type": "string", "format": "email" },
    "active": { "type": "boolean" },
    "tags": { "type": "array", "items": { "type": "string" } },
    "profile": {
      "type": "object",
      "properties": {
        "score": { "type": "number" },
        "verified": { "type": "boolean" }
      },
      "required": ["score", "verified"],
      "additionalProperties": false
    }
  },
  "required": ["id", "name", "email", "active", "tags", "profile"],
  "additionalProperties": false
}

ডিফল্ট নিয়মে জেনারেট: Draft 7, ফরম্যাট চালু, সব প্রপার্টি রিকোয়ার্ড। ইমেইল স্ট্রিংয়ে format হিন্ট পায়; ইন্টিজার হুবহু থাকে এবং নেস্টেড profile আলাদা অবজেক্ট স্কিমা হয়।

নিয়ম, সীমাবদ্ধতা ও পরিচিত সমস্যা

  • টাইপ স্যাম্পল থেকে অনুমান হয়: object, array, string, integer, number, boolean, null। অ্যারে আইটেম মার্জ হয় — উপাদান জুড়ে অবজেক্ট কী ইউনিয়ন করে, কিছু উপাদানে অনুপস্থিত কী রিকোয়ার্ড চিহ্নিত হয় না।
  • একটি অ্যারেতে মিশ্র টাইপ থাকলে anyOf হয়; খালি অ্যারেতে type:array আসে items ছাড়া (স্যাম্পল থেকে এলিমেন্ট টাইপ অজানা)।
  • স্ট্রিং ফরম্যাট (email, UUID, URI, date, date-time) মান থেকে অনুমান — এগুলো হিন্ট, সব সম্ভাব্য মানের ভ্যালিডেশন নয়। টগল দিয়ে বন্ধ করুন।
  • ডুপ্লিকেট কী-তে শেষ মান থাকে, JSON.parse-এর মতো। স্ট্রিক্ট JSON (RFC 8259): কমেন্ট, ট্রেইলিং কমা ও সিঙ্গেল কোট লাইন/কলাম মেসেজসহ প্রত্যাখ্যান।
  • স্কিমা স্ট্যান্ডার্ড JSON, তাই এর কীওয়ার্ড ও আউটপুট পেজ ভাষার সাথে বদলায় না। উদাহরণ মান নেটিভলি পুনর্গঠিত হয়, তাই চরম ইন্টিজার (যেমন 12345678901234567890) উদাহরণে রাউন্ড হতে পারে।
  • সীমা: 1,000,000 ক্যারেক্টার ও 512 নেস্টিং লেভেল। যেকোনো সীমা অতিক্রম করলে এরর, ট্রাংকেটেড ফলাফল কখনো নয়। ফাইল আপলোড শুধু লোকাল ফাইল পড়ে — কিছুই আপলোড হয় না।

স্কিমা তৈরি হওয়ার পরে সাধারণত যা প্রয়োজন হয়।