8

मैं अजगर में एक छोटा सा शानदार वेब अनुप्रयोग विकसित कर रहा हूं और जेएसओएन का उपयोग इंटरफ़ेस के रूप में कर रहा हूं। एप्लिकेशन JSON डेटा स्वीकार करता है और उन्हें स्कीमा के विरुद्ध सत्यापित करने की आवश्यकता होती है। अनुरोध के आधार पर स्कीमा बहुत सख्त या लचीला हो सकता है। साथ ही, एप्लिकेशन को बाद में सुधार पर उपयोगकर्ता ऑब्जेक्ट्स को सत्यापित करने की आवश्यकता हो सकती है।पायथन - सेर्बरस, जेन्सॉन्मा, voluptous - कौन सा उचित होगा?

मुझे स्टैक ओवरफ़्लो के साथ-साथ अन्य वेबसाइटों पर कुछ सुझाव मिल गए हैं। उन शामिल

लेकिन एक उचित तुलना नहीं पा सके।

सादगी, लचीलापन और विस्तार क्षमता के मामले में, आपको क्या लगता है कि मुझे चुनना चाहिए?

सेर्बरस बहुत लचीला प्रतीत होता है और विस्तार-क्षमता उनके दस्तावेज़ और उदाहरणों से बहुत अच्छी लगती है। लेकिन मुझे अन्य पुस्तकालयों के बारे में पता नहीं है।

संपादित करें 1: अब के लिए आवेदन की ज़रूरतें बहुत सरल हैं और कस्टम प्रकार और कस्टम सत्यापन नियम जोड़ने के दायरे के साथ मूल स्कीमा सत्यापन पर्याप्त होगा। इसलिए यदि ये सभी पुस्तकालय बुनियादी आवश्यकताओं की पेशकश करते हैं, तो मैं उस व्यक्ति के लिए जाऊंगा जो उपयोग करने में सबसे आसान है। अगर मैं कोई अन्य सुझावों के लिए भी खुला हूं।

कुछ मदद ढूंढने की उम्मीद है।

+0

मुझे लगता है कि कुछ और जानकारी की आवश्यकता है। गिनने के लिए बहुत से डेटा सत्यापन पैकेज हैं और मुझे लगता है कि पसंद उनकी उन्नत सुविधाओं पर निर्भर करता है, न कि उनकी मूल स्कीमा सत्यापन सुविधाओं (https://github.com/keleshev/schema, http://docs.pylonsproject.org/projects /colander/en/latest/index.html भी वैध विकल्प हैं)। मैं jsonschema का बहुत उपयोग करता हूं और यह बहुत आसान है। आप वास्तव में क्या देख रहे हैं कि आप उन्हें एक पर्याप्त पर्याप्त अमूर्तता के साथ प्रयास करने की अनुमति नहीं देंगे कि आवश्यकता होने पर इसे बदलना आसान होगा? – nir0s

+0

@ nir0s अब के लिए मूल स्कीमा सत्यापन कस्टम प्रकार और सत्यापन नियम जोड़ने के दायरे के साथ पर्याप्त होगा (उदाहरण के लिए वैध यूआरएल, आईपीवी 4 पते या आईपीवी 6 पते आदि को मान्य करना। इसके अलावा, सत्यापन नियम एक और कुंजी के मूल्य पर निर्भर हो सकता है इनपुट, उदाहरण के लिए {'उपयोगकर्ता': 'कुछ उपयोगकर्ता', 'लिंग': 'पुरुष', 'आयु': उम्र} इस स्कीमा में, वैध आयु लिंग के आधार पर बदल सकती है)। और डेटा संरचनाओं को भी घोंसला जा सकता है। तो यदि सभी पुस्तकालय इन्हें पेश करते हैं, तो मैं सबसे सरल चुन सकता हूं। –

उत्तर

4

मैं केवल अपने अद्भुत दस्तावेज के लिए सेर्बरस लेगा। यह कुछ शर्तों (http://docs.python-cerberus.org/en/stable/validation-rules.html#dependencies) के अनुसार निर्भरता निर्धारित करने की अनुमति देता है और मूलभूत स्कीमा सत्यापन आवश्यकताओं के लिए निश्चित रूप से सरल है जो आप जोंसचेमा, voluptuous, आदि के रूप में संदर्भित कर रहे हैं ..

नेस्टेड फ़ील्ड भी समर्थित हैं (सभी पुस्तकालयों में मैं 'से परिचित हूँ) और उनके अनुकूलन डॉक्स अद्भुत हैं: http://docs.python-cerberus.org/en/stable/customize.html

कहा जा रहा है, मैं सभी तीन प्रस्तावित पैकेज का उपयोग करने पर बल्कि अन्य दो पर बड़े पैमाने पर jsonschema का उपयोग करने और पर्याप्त दस्तावेज और सिफारिशों को पढ़ने पर यह उत्तर आधारित नहीं कर रहा हूँ ।

+0

हां, मेरे लिए भी, सेर्बरस दस्तावेज अद्भुत है और उनके पास मेरी सभी ज़रूरतें हैं। ऐसा लगता है कि अब इस के साथ जा रहा है। प्रश्न का उत्तर देने के लिए समय निकालने के लिए धन्यवाद। –

संबंधित मुद्दे