মূল বিষয়বস্তুতে যান
ToolMug

সরাতে ↑ ↓, খুলতে Enter, বন্ধ করতে Esc চাপুন।

JSON থেকে JSON Schema জেনারেটর

আপনি একটি JSON নমুনা পেস্ট করে সেটির বর্ণনা দেওয়া JSON Schema পান—টাইপ, নেস্টেড object, array item এবং কোন কী আবশ্যিক তা সহ। এটি validation, form বা API documentation-এর প্রাথমিক ভিত্তি হিসেবে ব্যবহার করুন।

আপনার ব্রাউজারে চলে — আপনি যা দেন তার কিছুই আপলোড হয় না

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

  1. আপনি একটি JSON নমুনা পেস্ট করুন, অথবা “নমুনা লোড করুন”-এ ক্লিক করুন।
  2. রুট schema-র title সেট করুন।
  3. Schema কপি বা ডাউনলোড করুন, তারপর format, pattern ও range-এর মতো constraint প্রয়োজনমতো যোগ করুন।

অপশনগুলোর ব্যাখ্যা

রুট টাইপের নাম
Schema-র title হিসেবে ব্যবহার করা হয়।

উদাহরণ

{"id": 1, "email": null} থেকে এমন একটি schema তৈরি হয় যাতে "id": {"type": "integer"}, "email": {"type": "null"} থাকে এবং দুটি কী-ই required-এ থাকে।

আরেকটি উদাহরণ

দুটি ব্যবহারকারীর রেকর্ড, যেখানে শুধু প্রথমটিতে ইমেইল আছে এবং manager কখনো কখনো null:

[
  { "id": 1, "name": "Ada", "email": "ada@example.com", "tags": ["admin"], "manager": null },
  { "id": 2, "name": "Grace", "tags": [], "manager": { "id": 1 } }
]

রুট টাইপের নাম User দিলে তৈরি schema হয়:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "User",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": { "type": "integer" },
      "name": { "type": "string" },
      "email": { "type": "string" },
      "tags": { "type": "array", "items": { "type": "string" } },
      "manager": {
        "anyOf": [
          { "type": "null" },
          { "type": "object", "properties": { "id": { "type": "integer" } }, "required": ["id"] }
        ]
      }
    },
    "required": ["id", "name", "tags", "manager"]
  }
}

email required থেকে বাদ গেছে কারণ দ্বিতীয় রেকর্ডে এটি নেই, আর manager null বা অবজেক্ট দুটোই গ্রহণ করে কারণ নমুনায় দুটোই আছে। নমুনা ডেটা যত বৈচিত্র্যময়, schema তত নির্ভুল — একটির বদলে কয়েকটি রেকর্ড পেস্ট করুন।

প্রচলিত ব্যবহার

API ইনপুট যাচাই। Ajv (JavaScript) বা jsonschema (Python)-এর মতো ভ্যালিডেটরে schema লোড করুন এবং যে অনুরোধ মেলে না তা বাতিল করুন।

API নথিভুক্ত করা। শুরুর বিন্দু হিসেবে প্রপার্টিগুলো OpenAPI-এর components.schemas অংশে পেস্ট করুন।

এডিটরে স্বয়ংক্রিয় সম্পূরণ। VS Code ও JetBrains IDE কী-এর পরামর্শ দিতে এবং JSON কনফিগারেশন ফাইলের ভুল চিহ্নিত করতে JSON Schema ব্যবহার করতে পারে।

সচরাচর জিজ্ঞাসিত প্রশ্ন

কোন কী-গুলো আবশ্যিক হিসেবে চিহ্নিত হয়?

যে কী প্রতিটি sample object-এ উপস্থিত থাকে। কোনো array-তে ভিন্ন কী-সহ object থাকলে, কিছু item-এ অনুপস্থিত কী-গুলো required তালিকা থেকে বাদ থাকে।

আপনি কি এটি OpenAPI-তে ব্যবহার করতে পারেন?

OpenAPI 3.1 JSON Schema 2020-12 ব্যবহার করে, তাই তৈরি হওয়া Schema-টি components/schemas-এর অধীনে রাখা যায়। OpenAPI 3.0-এর জন্য ["string", "null"]-এর মতো type array-কে nullable true-তে বদলে নিন।

এটি কি email বা date-time-এর মতো format শনাক্ত করে?

না। এটি শুধু type অনুমান করে। প্রয়োজন হলে format, pattern, minimum এবং অনুরূপ keyword হাতে যোগ করুন।

আমার JSON কি আপলোড হয়?

না। type আপনার browser-এ তৈরি হয়, তাই real data-সহ API response আপনার device-এই থাকে।

গোপনীয়তা

এই টুলটি পুরোপুরি আপনার ব্রাউজারে চলে। আপনার ফাইল ও লেখা আপনার ডিভাইসেই প্রসেস হয় এবং কখনো আমাদের সার্ভারে আপলোড হয় না।

সম্পর্কিত টুল