बाकी सेवा प्रतिक्रिया के साथ मैं उदाहरण का अनुसरण करने के लिए इसी तरह की है काम कर रहा हूँ, मैं सिर्फ 3 क्षेत्रों यहाँ शामिल है, लेकिन कई और अधिक देखते हैं में परिभाषाओं उपयोग कैसे करें:JSON स्कीमा (मसौदा-04)
{
"results": [
{
"type": "Person",
"name": "Mr Bean",
"dateOfBirth": "14 Dec 1981"
},
{
"type": "Company",
"name": "Pi",
"tradingName": "Pi Engineering Limited"
}
]
}
मैं के लिए ऊपर (मसौदा-04) जो स्पष्ट है कि निर्दिष्ट करेगा एक JSON स्कीमा फ़ाइल लिखना चाहते हैं:
if type == Person then list of required properties is ["type", "name", "dateOfBirth", etc]
OR
if type == "Company" then list of required properties is ["type", "name", "tradingName", etc]
हालांकि किसी भी दस्तावेज या इसे कैसे करना का उदाहरण खोजने में असमर्थ हूँ।
वर्तमान में मेरे JSON स्कीमा ऐसा दिखाई देता है:
{
"$schema": "http://json-schema.org/draft-04/schema",
"type": "object",
"required": ["results" ],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": ["type", "name"],
"properties": {
"type": { "type": "string" },
"name": { "type": "string" },
"dateOfBirth": { "type": "string" },
"tradingName": { "type": "string" }
}
}
}
}
}
किसी भी संकेत दिए गए/मैं इस कैसे प्रबंधित करें का उदाहरण।
मुझे लगता है कि आप एक विरासत के साथ इस का वर्णन करना चाहिए: लेकिन http://usingjsonschema.com किताब में दोनों संपत्ति और परिभाषा निर्भरता विस्तार से बताया: टाइप व्यक्ति MyObject को बढ़ाता है, टाइप कंपनी MyObject को बढ़ाती है, और आपकी मुख्य स्कीमा में MyObject –
टाइप करने वाले आइटमों के साथ एक सरणी परिभाषित करती है, यह नहीं पता कि JSSSchema XSD के समान कैसे है, लेकिन XSD के बारे में मुझे क्या याद आ सकता है, आपको सामान्य की आवश्यकता नहीं है अपनी वस्तु के लिए superclass। आप स्कीमाफाइल के भीतर अपनी विरासत बल्कि करेंगे। E.g आपके मुख्य स्कीमा में एक सार प्लेसहोल्डर, जो व्यक्ति स्कीमा और कंपनी स्कीमा को अपनी जगह लेने की अनुमति देगा। – atomman
मुझे लगता है कि निर्भरता भी ड्राफ 3 में है। क्या कोई भी ड्राफ्ट 3 और 4 के बीच निर्भरताओं के संबंध में कोई अंतर बता सकता है? – Relequestual