JSON Schema Generator और Validator

एक नमूने से एक JSON Schema जनरेट करें या एक JSON दस्तावेज़ को एक के विरुद्ध मान्य करें, सीधे आपके ब्राउज़र में। आपका डेटा कभी आपके डिवाइस से बाहर नहीं जाता।

स्कीमा जनरेशन और Ajv validation आपके ब्राउज़र में लोकल रूप से चलते हैं, इसलिए आपका JSON नमूना, स्कीमा और दस्तावेज़ कभी अपलोड नहीं होते।

इसके बजाय TypeScript टाइप चाहिए? JSON to TypeScript आज़माएँ।

JSON Schema Generator और Validator के बारे में

यह JSON Schema generator एक JSON नमूने को एक उपयोग-के-लिए-तैयार JSON Schema में बदलता है, और बिल्ट-इन validator किसी भी JSON दस्तावेज़ को आपके द्वारा प्रदान की गई एक स्कीमा के विरुद्ध जाँचता है। Generate मोड में यह आपके नमूने को चलता है, ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, बूलियन और null के लिए टाइप का अनुमान लगाता है, ऐरे आइटम एकीकृत करता है, और हर प्रॉपर्टी को required चिह्नित कर सकता है, additionalProperties को false सेट कर सकता है, और email, date, date-time, uri और uuid जैसे स्ट्रिंग फ़ॉर्मैट का पता लगा सकता है। आउटपुट के लिए draft-07 या 2020-12 चुनें। Validate मोड में यह allErrors और ajv-formats के साथ Ajv चलाता है, फिर हर विफलता को उसके instance path और संदेश के साथ सूचीबद्ध करता है। यह API डेवलपर्स, बैकएंड इंजीनियरों और JSON अनुबंध परिभाषित या टेस्ट करने वाले किसी भी व्यक्ति के लिए बनाया गया है। सब कुछ आपके ब्राउज़र में चलता है, इसलिए आपका पेस्ट किया गया नमूना और स्कीमा आपके डिवाइस पर ही रहते हैं।

विशेषताएँ

JSON Schema Generator और Validator का उपयोग कैसे करें

  1. एक स्कीमा बनाने के लिए Generate चुनें, या एक दस्तावेज़ जाँचने के लिए Validate।
  2. Generate में, एक JSON नमूना पेस्ट करें और required, additionalProperties और format विकल्प टॉगल करें।
  3. draft-07 या 2020-12 चुनें, फिर परिणामी schema.json कॉपी या डाउनलोड करें।
  4. Validate में, बाईं ओर एक JSON Schema और दाईं ओर एक JSON दस्तावेज़ पेस्ट करें।
  5. valid/invalid बैज और एरर की सूची पढ़ें, हर एक एक instance path के साथ।

उदाहरण

इनपुट

{
  "id": 1,
  "name": "Ada",
  "email": "ada@example.com",
  "tags": ["a", "b"]
}

आउटपुट

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "id": { "type": "integer" },
    "name": { "type": "string" },
    "email": { "type": "string", "format": "email" },
    "tags": { "type": "array", "items": { "type": "string" } }
  },
  "required": ["id", "name", "email", "tags"]
}

required और format अनुमान चालू होने पर, नमूना एक draft-07 स्कीमा देता है।

सामान्य त्रुटियाँ और समस्या निवारण

अक्सर पूछे जाने वाले प्रश्न

जनरेटर कौन सा JSON Schema draft उपयोग करता है?
डिफ़ॉल्ट रूप से draft-07, 2020-12 के विकल्प के साथ। यह चुनाव आउटपुट पर $schema डायलेक्ट URL और draft के बीच मामूली अंतर सेट करता है; अनुमानित संरचना अन्यथा समान रहती है।
एक स्कीमा जनरेट करते समय required प्रॉपर्टी कैसे तय की जाती हैं?
डिफ़ॉल्ट रूप से कोई प्रॉपर्टी required चिह्नित नहीं होती, इसलिए स्कीमा आंशिक ऑब्जेक्ट स्वीकार करती है। हर ऑब्जेक्ट की हर की को उसके required ऐरे में जोड़ने के लिए "Mark all properties required" चालू करें।
validator एरर कैसे बताता है?
यह allErrors सक्षम के साथ Ajv चलाता है, इसलिए आपको हर विफलता एक साथ मिलती है। हर एरर JSON instance path (जैसे /items/0/id) और एक मानव-पठनीय संदेश दिखाता है, जिसमें छूटी हुई required कीज़ और अप्रत्याशित अतिरिक्त प्रॉपर्टी शामिल हैं।
क्या जनरेटर email या date जैसे स्ट्रिंग फ़ॉर्मैट का अनुमान लगाता है?
हाँ, जब "Infer string formats" चालू हो। यह नमूना स्ट्रिंग मानों को email, date, date-time, uri और uuid के पैटर्न के विरुद्ध जाँचता है और मिलता format कीवर्ड जोड़ता है; जो किसी से मेल नहीं खाते वे सादे स्ट्रिंग रहते हैं।
यह ऐरे के लिए स्कीमा का अनुमान कैसे लगाता है?
यह सभी ऐरे तत्वों की स्कीमा को एक अकेली items स्कीमा में विलीन करता है। मिश्रित ऑब्जेक्ट तत्व प्रॉपर्टी-दर-प्रॉपर्टी विलीन होते हैं, किसी भी तत्व से छूटी एक की required से बाहर हो जाती है, और एक खाली ऐरे items:{} बन जाता है।
क्या मेरा JSON नमूना या स्कीमा कहीं अपलोड होता है?
नहीं। जनरेशन और validation, Ajv सहित, पूरी तरह आपके ब्राउज़र में चलते हैं, इसलिए आपका पेस्ट किया गया नमूना, स्कीमा और दस्तावेज़ लोकल रूप से प्रोसेस होते हैं और आपके डिवाइस पर ही रहते हैं।

संबंधित टूल

सभी ArrayKit टूल