की आवश्यकता है, मैं जानना चाहता हूं कि मैं एक JSON स्कीमा (ड्राफ्ट 4) को परिभाषित कर सकता हूं जिसके लिए किसी ऑब्जेक्ट के लिए कम से कम एक गुण संभव है। मुझे पहले से ही allOf
, anyOf
और oneOf
पता है, लेकिन यह पता नहीं लगा सकता कि मैं जिस तरह से उपयोग करना चाहता हूं उसका उपयोग कैसे करें।एक JSON स्कीमा को परिभाषित करने के लिए, जिसमें कम से कम एक गुण
यहाँ JSON वर्णन करने के लिए कुछ उदाहरण हैं:
// Test Data 1 - Should pass
{
"email": "[email protected]",
"name": "John Doe"
}
// Test Data 2 - Should pass
{
"id": 1,
"name": "Jane Doe"
}
// Test Data 3 - Should pass
{
"id": 1,
"email": "[email protected]",
"name": "John Smith"
}
// Test Data 4 - Should fail, invalid email
{
"id": 1,
"email": "thisIsNotAnEmail",
"name": "John Smith"
}
// Test Data 5 - Should fail, missing one of required properties
{
"name": "John Doe"
}
मैं कम से कम id
या email
(भी उन दोनों को स्वीकार करने) की आवश्यकता होती है और अभी भी प्रारूप के अनुसार सत्यापन पूर्ण करना चाहते हैं।
{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "https://example.com",
"properties": {
"name": {
"type": "string"
}
},
"anyOf": [
{
"properties": {
"email": {
"type": "string",
"format": "email"
}
}
},
{
"properties": {
"id": {
"type": "integer"
}
}
}
]
}
आप मेरी मदद कर सकते हैं कि कैसे करने के लिए: oneOf
का उपयोग सत्यापन विफल हो जाता है, तो मैं दोनों (परीक्षण 3), anyOf
गुजरता सत्यापन भले ही उनमें से एक मान्य नहीं है (परीक्षण 4) प्रदान
यहाँ मेरी स्कीमा है मेरे उपयोग के मामले के लिए सही सत्यापन प्राप्त करें?