JSON Schema হল একটি কাঠামো যা JSON ডেটার বৈধতা পরীক্ষা করতে ব্যবহৃত হয়। এটি JSON ডেটা স্ট্রাকচার এবং তার মানের জন্য একটি গাইডলাইন প্রদান করে, যেমন কী ধরনের ডেটা কিভাবে আছেতো, কোন ক্ষেত্রগুলো আবশ্যক, মানের ধরণ ইত্যাদি। JSON Schema Validation প্রক্রিয়া JSON ডেটার মান যাচাই করতে সাহায্য করে, যাতে ডেটা স্ট্রাকচার সঠিক এবং প্রত্যাশিত হয়।
Org.JSON লাইব্রেরি, নিজে সরাসরি JSON Schema Validation সাপোর্ট না করলেও, এটি সহজেই Java তে JSON Schema Validation করার জন্য অন্যান্য লাইব্রেরির সাথে কাজ করতে পারে, যেমন org.everit.json.schema। এই লাইব্রেরিটি JSON Schema এবং JSON ডেটা যাচাই করার জন্য একটি সাধারণ উপায় প্রদান করে।
JSON Schema Validation কিভাবে কাজ করে?
JSON Schema মূলত JSON ডেটা স্ট্রাকচারের ধরন, কাঠামো এবং আঙ্গিকের সাথে সম্পর্কিত বিধিনিষেধ তৈরি করে। JSON ডেটা Schema এর নিয়ম অনুসারে না হলে, এটি বৈধ হবে না।
JSON Schema তৈরি করা
JSON Schema একটি স্ট্রিং আকারে বা JSON অবজেক্ট হিসেবে লেখা হয়, যেখানে ডেটা স্ট্রাকচারের ধরন ও নিয়মাবলী উল্লেখ করা হয়।
উদাহরণ: JSON Schema তৈরি এবং JSON ডেটা যাচাই করা
এখানে আমরা একটি উদাহরণ দেখব যেখানে org.everit.json.schema লাইব্রেরি ব্যবহার করে JSON Schema Validation করা হচ্ছে।
১. JSON Schema তৈরি
ধরা যাক আমাদের একটি JSON ডেটা রয়েছে, যা ব্যবহারকারীর তথ্য ধারণ করে। আমরা এর জন্য একটি JSON Schema তৈরি করব যা ডেটার ধরন এবং কাঠামো যাচাই করবে।
JSON Schema (user_schema.json)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "integer",
"minimum": 18
},
"email": {
"type": "string",
"format": "email"
}
},
"required": ["name", "age", "email"]
}
এখানে:
name,age, এবংemailপ্রপার্টি আবশ্যক।ageএর জন্য ন্যূনতম ১৮ বছর হতে হবে।emailফরম্যাটটি একটি বৈধ ইমেইল ঠিকানা হতে হবে।
২. JSON ডেটা উদাহরণ
{
"name": "John Doe",
"age": 25,
"email": "john.doe@example.com"
}
এটি একটি সঠিক JSON ডেটা যেখানে name, age, এবং email ফিল্ড রয়েছে, এবং এর মান JSON Schema এর নিয়ম অনুযায়ী সঠিক।
৩. JSON Schema Validation কোড (Java)
এখন আমরা Java কোডে org.everit.json.schema লাইব্রেরি ব্যবহার করে JSON Schema Validation প্রক্রিয়া সম্পন্ন করব। প্রথমে আপনাকে org.everit.json.schema এবং org.json লাইব্রেরি মাভেন (Maven) বা গ্রেডল (Gradle) থেকে ইমপোর্ট করতে হবে।
Maven Dependency
<dependency>
<groupId>org.everit.json</groupId>
<artifactId>org.everit.json.schema</artifactId>
<version>1.14.0</version>
</dependency>
Java কোড: JSON Schema Validation
import org.json.JSONObject;
import org.everit.json.schema.Schema;
import org.everit.json.schema.loader.SchemaLoader;
import org.everit.json.schema.ValidationException;
import java.io.InputStream;
public class JSONSchemaValidationExample {
public static void main(String[] args) {
// JSON ডেটা
String jsonData = "{ \"name\": \"John Doe\", \"age\": 25, \"email\": \"john.doe@example.com\" }";
JSONObject jsonObject = new JSONObject(jsonData);
// JSON Schema লোড করা
InputStream schemaStream = JSONSchemaValidationExample.class.getResourceAsStream("/user_schema.json");
JSONObject jsonSchema = new JSONObject(new JSONTokener(schemaStream));
// Schema তৈরি
Schema schema = SchemaLoader.load(jsonSchema);
try {
// JSON ডেটা স্কিমার সাথে যাচাই করা
schema.validate(jsonObject);
System.out.println("JSON ডেটা বৈধ!");
} catch (ValidationException e) {
// যদি JSON ডেটা অবৈধ হয়
System.out.println("ভুল: " + e.getMessage());
}
}
}
কোড ব্যাখ্যা:
- JSON ডেটা: JSON ডেটা
JSONObjectআকারে তৈরি করা হয়। - Schema লোড করা: JSON Schema ফাইলটি লোড করে একটি
JSONObjectআকারে ইনপুট দেওয়া হয়। - SchemaLoader:
SchemaLoader.load()মেথডের মাধ্যমে JSON Schema লোড করা হয়। - Validation:
schema.validate(jsonObject)মেথডের মাধ্যমে JSON ডেটা স্কিমার সাথে যাচাই করা হয়। যদি ডেটা বৈধ হয়, তবে "JSON ডেটা বৈধ!" মেসেজ আসে, আর যদি কোনো ভুল থাকে তবে তা ধরিয়ে দেওয়া হয়।
আউটপুট:
JSON ডেটা বৈধ!
সারাংশ
JSON Schema Validation JSON ডেটার কাঠামো এবং ভ্যালিডিটি পরীক্ষা করতে একটি শক্তিশালী পদ্ধতি। org.everit.json.schema লাইব্রেরি Java তে JSON Schema ব্যবহার করে সহজে JSON ডেটার বৈধতা যাচাই করতে সহায়তা করে। এই প্রক্রিয়াটি নিশ্চিত করে যে, JSON ডেটা নির্দিষ্ট কাঠামো এবং নিয়ম মেনে তৈরি হয়েছে, যা সার্ভার বা অন্যান্য সিস্টেমে ব্যবহারের জন্য উপযুক্ত।