JSON Schema केवल लिखे गए नियमों की जाँच करता है

पढ़ने योग्य JSON हर अनुरोध के लिए उपयुक्त नहीं है। स्कीमा अपेक्षित डेटा बताता है; छूटी शर्त या डेटा के बाहर की सच्चाई नहीं जाँच सकता।

मौजूदगी और प्रकार अलग निर्णय हैं

properties में फ़ील्ड लिखने से मौजूद होने पर शर्त लगती है, वह अनिवार्य नहीं हो जाता। अनिवार्य हो तो required में रखें।

संख्या 3 और स्ट्रिंग "3" अलग हैं। एक के स्वीकार होने से दूसरे का स्वतः परिवर्तन तय नहीं होता। अनुबंध उपयोगकर्ता-प्रणाली की जरूरत के अनुसार बनाएँ।

संदर्भ: JSON Schema — Properties, required fields and additional properties

अतिरिक्त फ़ील्ड की नीति तय करें

सरल ऑब्जेक्ट स्कीमा में additionalProperties: false अघोषित फ़ील्ड रोकता है। नाम की गलती पकड़ सकता है, लेकिन अनुबंध बढ़ाने पर जानबूझकर अपडेट चाहिए।

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

संदर्भ: JSON Schema — Properties, required fields and additional properties

स्कीमा पास होना अनुरोध की मंज़ूरी नहीं है

ToolRoof Draft 2020-12 के सीमित हिस्से को स्थानीय रूप से जाँचता है। दूरस्थ स्कीमा नहीं लाता और सभी कीवर्ड समर्थित नहीं हैं; असमर्थित सुविधा चुपचाप पास नहीं होती, बताई जाती है।

पास होने से उत्पाद का अस्तित्व, डेटाबेस की कीमत या उपयोगकर्ता का अधिकार सिद्ध नहीं होता। default टिप्पणी भी इस जाँच में गायब फ़ील्ड को भरती नहीं है।

उदाहरण: छिपे प्रकार-परिवर्तन के बिना अनिवार्य मात्रा

quantity का प्रकार integer, न्यूनतम 1, required में नाम और अतिरिक्त गुण निषिद्ध हों। {"quantity":3} पास होता है; {"quantity":"3"} प्रकार के कारण विफल।

{} फ़ील्ड गायब होने से और {"quantity":3,"note":"draft"} अतिरिक्त गुण से विफल है। 3 स्वीकार होने का अर्थ स्टॉक में 3 वस्तुएँ होना नहीं; वह नियम इस उदाहरण के बाहर है।

संदर्भ