JSON Schema ভ্যালিডেটর
JSON ডেটা JSON Schema সংজ্ঞার বিপরীতে ভ্যালিডেট করুন। পথ-সহ বিস্তারিত ত্রুটি রিপোর্ট পান। সব প্রক্রিয়াকরণ আপনার ব্রাউজারেই হয়।
প্রদত্ত schema-র বিপরীতে JSON ডেটা বৈধ!
| পথ | ত্রুটি |
|---|
JSON Schema ভ্যালিডেটর ব্যবহারের পদ্ধতি
Schema লিখুন
প্রত্যাশিত কাঠামো বর্ণনা করে এমন আপনার JSON Schema সংজ্ঞায়িত করুন।
ডেটা লিখুন
schema-র বিপরীতে যে JSON ডেটা ভ্যালিডেট করতে চান তা পেস্ট করুন।
ভ্যালিডেট করুন
ভ্যালিডেট ক্লিক করুন এবং কোনো ত্রুটির জন্য ফলাফল পর্যালোচনা করুন।
JSON Schema কী?
JSON Schema হলো একটি শব্দকোষ যা দিয়ে আপনি JSON ডকুমেন্ট অ্যানোটেট ও ভ্যালিডেট করতে পারেন। এটি নির্দিষ্ট অ্যাপ্লিকেশনের জন্য কোন JSON ডেটা প্রয়োজন এবং তার সাথে কীভাবে ইন্টারঅ্যাক্ট করতে হবে তার একটি চুক্তি দেয়। JSON Schema ভ্যালিডেশন, ডকুমেন্টেশন ও মক ডেটা তৈরিতে ব্যবহৃত হয়।
মূল বৈশিষ্ট্য
টাইপ ভ্যালিডেশন
টাইপ ভ্যালিডেট করুন: string, number, integer, boolean, array, object, null
সীমাবদ্ধতা
সর্বনিম্ন/সর্বোচ্চ দৈর্ঘ্য, পরিসর, প্যাটার্ন, আবশ্যক ফিল্ড ইত্যাদি
কাঠামো সংজ্ঞায়ন
নেস্টেড অবজেক্ট, অ্যারে ও জটিল ডেটা কাঠামো সংজ্ঞায়িত করুন
সাধারণ জিজ্ঞাসা
এই টুল Ajv লাইব্রেরির মাধ্যমে JSON Schema Draft-07, Draft 2019-09 ও Draft 2020-12 সমর্থন করে। সবচেয়ে সাধারণ schema বৈশিষ্ট্যগুলো সমর্থিত।
হ্যাঁ! JSON Schema গভীরভাবে নেস্টেড অবজেক্ট ও অ্যারে সমর্থন করে। আপনি যেকোনো নেস্টিং স্তরে properties ও items সংজ্ঞায়িত করতে পারেন, প্রতিটি ফিল্ডের জন্য আলাদা ভ্যালিডেশন নিয়মসহ।
টুল প্রথমে যাচাই করে যে আপনার schema নিজেই বৈধ JSON Schema কিনা। schema-তে ত্রুটি থাকলে, ডেটা ভ্যালিডেট করার চেষ্টার আগেই সেগুলো রিপোর্ট করা হয়।
type (string, number, object, array, boolean, null), নেস্টেড schema-সহ properties, বাধ্যতামূলক কী-এর তালিকা required, নির্দিষ্ট মানের সেটের জন্য enum, regex-সীমিত স্ট্রিংয়ের জন্য pattern, আর পরিসর পরীক্ষা minimum/maximum ও minLength/maxLength। additionalProperties: false অবজেক্টকে বাড়তি কী-এর বিরুদ্ধে কঠোর করে। এগুলো মিলেই API ভ্যালিডেশন নিয়মের বড় অংশ কভার করে।
আধুনিক JSON Schema-তে format ডিফল্টভাবে একটি অ্যানোটেশন, স্বয়ংক্রিয় অ্যাসারশন নয় - ভ্যালিডেটর কনফিগার করলেই কেবল তা প্রয়োগ করে, যা 2020-12 স্পেক আলাদা format-assertion শব্দকোষ দিয়ে স্পষ্ট করেছে। নিশ্চিত প্রয়োগ দরকার হলে pattern বা কাস্টম কীওয়ার্ড ব্যবহার করুন, অন্যথায় format-কে ইন্টারঅপারেবিলিটি মেটাডেটা হিসেবে ভাবুন।
#/$defs/address নির্দেশকারী $ref, $defs-এর অধীনে একটি schema খণ্ড রেফারেন্স করে এবং যেখানে ব্যবহৃত হয় সেখানে তার বিপরীতে ভ্যালিডেট করে - এটিই ডিডুপ্লিকেশন কৌশল। Draft 2020-12 পুরোনো definitions-এর নাম বদলে $defs করেছে এবং কমেন্ট ট্রির মতো রিকার্সিভ কাঠামোর জন্য $dynamicRef ফরমালাইজ করেছে। রেফারেন্স বাইরের ডকুমেন্টেও নির্দেশ করতে পারে, তবে লোকালি বান্ডল করা বেশি প্রচলিত।
allOf-এর জন্য প্রতিটি সাবস্কিমা ভ্যালিড হতে হবে - একটি ছেদ, বেস schema-র সাথে অতিরিক্ত সীমাবদ্ধতা যোগ করতে ব্যবহৃত হয়। anyOf-এর জন্য অন্তত একটি লাগবে - একটি ইউনিয়ন, পলিমরফিক পেলোডের জন্য। oneOf-এর জন্য ঠিক একটি লাগবে; দুটি বা শূন্য সাবস্কিমা ভ্যালিড হলে ব্যর্থ হয়, যা মানুষ যতটা আশা করে তার চেয়ে কঠোর এবং ওভারল্যাপিং schema-য় অপ্রত্যাশিত ত্রুটির সাধারণ কারণ।
2020-12 স্পেসিফিকেশনকে আলাদাভাবে-সক্রিয়যোগ্য শব্দকোশে ভাগ করেছে (validation, annotation, format-assertion), definitions-এর নাম বদলে $defs করেছে, exclusiveMinimum-কে সাধারণ সংখ্যায় সরল করেছে, আর পুরোনো items কীওয়ার্ডের জায়গায় prefixItems ও items এনেছে। বেশিরভাগ টুলিং দুটোই সমর্থন করে; draft-07 এখনো সবচেয়ে ব্যাপকভাবে স্থাপিত, তবে 2020-12 বর্তমান প্রকাশিত মান।
সম্পর্কিত সরঞ্জাম
প্রামাণ্য রেফারেন্স
এই সরঞ্জামের পেছনের মূল উৎস — দ্বিতীয় হাতের সারাংশ নয়, বরং অফিসিয়াল স্ট্যান্ডার্ড ও স্পেসিফিকেশন।
JSON Schema - 2020-12 Validation Specification
JSON Schema 2020-12 ভ্যালিডেশন স্পেসিফিকেশন — বর্তমান প্রকাশিত স্ট্যান্ডার্ড।
JSON Schema - Learn
JSON Schema-র অফিসিয়াল শেখার সাইট, বেসিক থেকে $ref ও $defs পর্যন্ত।
JSON Schema - Wikipedia
JSON Schema কী ভ্যালিডেট করে, আর API চুক্তি ও কনফিগ ভ্যালিডেশনে তার ভূমিকা।