Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में जैक्सन का उपयोग कर JSON स्कीमा समर्थन?


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" :"स्ट्रिंग" } } }}

  1. जावा में जैक्सन का उपयोग करके हम JSON में फ़ील्ड नाम कैसे बदल सकते हैं?

    द जैक्सन एनोटेशन @JsonProperty क्रमबद्धता . के दौरान किसी संपत्ति या विधि पर उपयोग किया जाता है या अक्रमांकन JSON . का . यह एक वैकल्पिक नाम . लेता है पैरामीटर जो संपत्ति का नाम कुंजी . से भिन्न होने की स्थिति में उपयोगी है नाम JSON . में . डिफ़ॉल्ट रूप से, अगर कुंजी का नाम प्रॉपर्टी के नाम से

  1. जावा में जैक्सन पुस्तकालय का उपयोग कर सुंदर प्रिंट JSON?

    एक जैक्सन API एक जावा आधारित पुस्तकालय है और यह जावा ऑब्जेक्ट को JSON और JSON को जावा ऑब्जेक्ट में बदलने के लिए उपयोगी हो सकता है। जैक्सन एपीआई अन्य एपीआई की तुलना में तेज है, कम मेमोरी क्षेत्र की आवश्यकता है और बड़ी वस्तुओं के लिए अच्छा है। हम स्ट्रीमिंग API, ट्री मॉडल, . का उपयोग करके JSON को तीन

  1. जावा में जैक्सन लाइब्रेरी का उपयोग करके JSON को मानचित्र से/में कनवर्ट करें?

    JSON जैक्सन जावा के लिए एक लाइब्रेरी है और इसमें बहुत शक्तिशाली डेटा बाइंडिंग क्षमताएं हैं और JSON के लिए कस्टम जावा ऑब्जेक्ट्स को क्रमबद्ध करने और JSON को वापस जावा ऑब्जेक्ट में डिसेरिएलाइज़ करने के लिए एक फ्रेमवर्क प्रदान करता है। हम रूपांतरित . कर सकते हैं JSON से/से मानचित्र readValue() . का