কম্পিউটার

জাভাতে জ্যাকসন ব্যবহার করে JSON স্কিমা সমর্থন?


JSON স্কিমা হল JSON ডেটার গঠন সংজ্ঞায়িত করার জন্য JSON ভিত্তিক ফর্ম্যাটের একটি স্পেসিফিকেশন। JsonSchema ক্লাস একটি প্রদত্ত অ্যাপ্লিকেশনের জন্য কী JSON ডেটা প্রয়োজন এবং কীভাবে এটির সাথে ইন্টারঅ্যাক্ট করতে হবে তার জন্য একটি চুক্তি প্রদান করতে পারে। JsonSchema বৈধতা, ডকুমেন্টেশন, হাইপারলিঙ্ক নেভিগেশন সংজ্ঞায়িত করতে পারে , এবং মিথস্ক্রিয়া নিয়ন্ত্রণ JSON ডেটার। আমরা generateSchema() ব্যবহার করে JSON স্কিমা তৈরি করতে পারি JsonSchemaGenerator এর পদ্ধতি , এই শ্রেণীটি JSON স্কিমা জেনারেশন কার্যকারিতা মোড়ক করে।

সিনট্যাক্স

public JsonSchema generateSchema(Class<T> type) throws com.fasterxml.jackson.databind.JsonMappingException

উদাহরণ

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.module.jsonSchema.JsonSchema;
import com.fasterxml.jackson.module.jsonSchema.JsonSchemaGenerator;
import java.util.List;
public class JSONSchemaTest {
   public static void main(String[] args) throws JsonProcessingException {
      ObjectMapper jacksonObjectMapper = new ObjectMapper();
      JsonSchemaGenerator schemaGen = new JsonSchemaGenerator(jacksonObjectMapper);
      JsonSchema schema = schemaGen.generateSchema(Person.class);
      String schemaString = jacksonObjectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(schema);
      System.out.println(schemaString);
   }
}
// Person class
class Person {
   private String name;
   private int age;
   private List<String> courses;
   private Address address;
   public String getName() {
      return name;
   }
   public int getAge(){
      return age;
   }
   public List<String> getCourse() {
      return courses;
   }
   public Address getAddress() {
      return address;
   }
}
// Address class
class Address {
   private String firstLine;
   private String secondLine;
   private String thirdLine;
   public String getFirstLine() {
      return firstLine;
   }
   public String getSecondLine() {
      return secondLine;
   }
   public String getThirdLine() {
      return thirdLine;
   }
}

আউটপুট

{
   "type" : "object",
   "id" : "urn:jsonschema:Person",
   "properties" : {
      "name" : {
         "type" : "string"
      },
      "age" : {
         "type" : "integer"
      },
      "address" : {
         "type" : "object",
         "id" : "urn:jsonschema:Address",
         "properties" : {
            "firstLine" : {
               "type" : "string"
            },
            "secondLine" : {
               "type" : "string"
            },
            "thirdLine" : {
               "type" : "string"
            }
         }
      },
      "course" : {
         "type" : "array",
         "items" : {
            "type" : "string"
         }
      }
   }
}

  1. জাভাতে জ্যাকসন লাইব্রেরি ব্যবহার করে CSV কে JSON এ রূপান্তর করবেন?

  2. জাভাতে জ্যাকসন ব্যবহার করে আমরা কীভাবে JSON-এ একটি ক্ষেত্রের নাম পরিবর্তন করতে পারি?

  3. জাভাতে জ্যাকসন লাইব্রেরি ব্যবহার করে JSON প্রিন্ট করবেন?

  4. জাভাতে জ্যাকসন লাইব্রেরি ব্যবহার করে ম্যাপে/থেকে JSON রূপান্তর করবেন?