JSON स्कीमा JSON डेटा की संरचना को परिभाषित करने के लिए JSON आधारित प्रारूप के लिए एक विनिर्देश है। JsonSchema क्लास एक अनुबंध प्रदान कर सकता है कि किसी दिए गए एप्लिकेशन के लिए JSON डेटा की क्या आवश्यकता है और इसके साथ कैसे इंटरैक्ट करना है। JsonSchema सत्यापन, दस्तावेज़ीकरण, हाइपरलिंक नेविगेशन को परिभाषित कर सकते हैं , और इंटरैक्शन नियंत्रण JSON डेटा का। हम generSchema() . का उपयोग करके JSON स्कीमा जेनरेट कर सकते हैं JsonSchemaGenerator . की विधि , यह वर्ग JSON स्कीमा पीढ़ी की कार्यक्षमता को लपेटता है।
सिंटैक्स
सार्वजनिक JsonSchema GenerateSchema(Classफेंकता हैtype) com.fasterxml.jackson.databind.JsonMappingException
उदाहरण
आयात करें; आयात java.util.List; सार्वजनिक वर्ग JSONSchemaTest {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) JsonProcessingException फेंकता है {ऑब्जेक्टमैपर जैक्सनऑब्जेक्टमैपर =नया ऑब्जेक्टमैपर (); JsonSchemaGenerator schemaGen =new JsonSchemaGenerator(jacksonObjectMapper); JsonSchema स्कीमा =schemaGen.generateSchema(Person.class); स्ट्रिंग स्कीमास्ट्रिंग =jacksonObjectMapper.writerWithDefaultPrettyPrinter ()। लिखेंValueAsString (स्कीमा); System.out.println (स्कीमास्ट्रिंग); }}// व्यक्ति वर्ग वर्ग व्यक्ति { निजी स्ट्रिंग नाम; निजी अंतर उम्र; निजी सूची <स्ट्रिंग> पाठ्यक्रम; निजी पता पता; सार्वजनिक स्ट्रिंग getName () {वापसी का नाम; } सार्वजनिक int getAge () {वापसी आयु; } सार्वजनिक सूची<स्ट्रिंग> getCourse() { वापसी पाठ्यक्रम; } सार्वजनिक पता getAddress() { वापसी का पता; }}// पता क्लासक्लास पता {निजी स्ट्रिंग फर्स्टलाइन; निजी स्ट्रिंग सेकेंडलाइन; निजी स्ट्रिंग थर्डलाइन; सार्वजनिक स्ट्रिंग getFirstLine () {रिटर्न फर्स्टलाइन; } सार्वजनिक स्ट्रिंग getSecondLine () {रिटर्न सेकेंडलाइन; } सार्वजनिक स्ट्रिंग getThirdLine () {तीसरी पंक्ति लौटाएं; }}आउटपुट
{ "type" :"object", "id" :"urn:jsonschema:Person", "properties" :{ "name" :{ "type" :"string" }, "age" :{ "type" " :"पूर्णांक" }, "पता" :{ "प्रकार":"वस्तु", "आईडी":"कलश:jsonschema:पता", "गुण" :{ "पहली पंक्ति" :{ "प्रकार":"स्ट्रिंग" } , "सेकेंडलाइन":{"टाइप":"स्ट्रिंग"}, "थर्डलाइन":{"टाइप":"स्ट्रिंग"}}}, "कोर्स":{"टाइप":"एरे", "आइटम":{ " type" :"स्ट्रिंग" } } }}