JSON स्कीमा जनरेटर

एक JSON सैंपल पेस्ट करें और उसकी संरचना, टाइप और आवश्यक फ़ील्ड बताने वाला draft-07 JSON स्कीमा पाएं।


          
        

यह कैसे काम करता है

यह टूल आपके पार्स किए गए JSON को रिकर्सिवली ट्रैवर्स करता है। ऑब्जेक्ट type: "object" बन जाते हैं, जिसमें हर key के लिए एक properties एंट्री होती है और हर मौजूद key required में सूचीबद्ध होती है। एरे type: "array" बन जाते हैं, जिनकी items स्कीमा हर एलिमेंट के टाइप का अनुमान लगाकर और उन्हें मर्ज करके बनाई जाती है। प्रिमिटिव सीधे मैप होते हैं: स्ट्रिंग, नंबर (जब हर सैंपल की गई वैल्यू पूर्णांक हो तो "number" की बजाय "integer" मिलता है), बूलियन, और null।

यह JSON.parse, यानी आपके ब्राउज़र के नेटिव पार्सर से गुज़रता है, फिर एक छोटे रिकर्सिव वॉकर से—दोनों इसी पेज के जावास्क्रिप्ट में। कुछ भी अपलोड नहीं होता।

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

यह कौन-सा JSON स्कीमा ड्राफ़्ट जनरेट करता है?

Draft-07, जो ajv, jsonschema (Python) जैसे वैलिडेटर और ज़्यादातर IDE टूलिंग में सबसे ज़्यादा सपोर्टेड वर्शन है। आउटपुट सादा JSON होता है, इसलिए अगर आपको किसी नए ड्राफ़्ट के कीवर्ड चाहिए तो आप इसे बाद में खुद एडिट कर सकते हैं।

एरे को कैसे हैंडल किया जाता है?

यह टूल एरे के हर आइटम की जांच करता है और उनके अनुमानित टाइप को मर्ज करता है। अगर सभी आइटम की संरचना एक जैसी है, तो आपको एक ही items स्कीमा मिलती है; अगर आइटम के टाइप अलग-अलग हैं, तो यह एक व्यापक स्कीमा पर वापस चला जाता है ताकि आपके सैंपल में कुछ भी अप्रस्तुत न रह जाए।

क्या यह फ़ील्ड को required के रूप में चिह्नित करता है?

हाँ, किसी ऑब्जेक्ट में मौजूद हर key को उस ऑब्जेक्ट की required लिस्ट में जोड़ दिया जाता है, क्योंकि वह आपके सैंपल में मौजूद थी। अगर आपके असली डेटा में कोई key वाकई वैकल्पिक है, तो उसे जनरेट की गई स्कीमा के required एरे से हटा दें।