2016-02-17 7 views
7

में योग/संघ प्रकारों का प्रतिनिधित्व कैसे करें मैं जेसन-स्कीमा का उपयोग कर JSON के मौजूदा उपयोग को दस्तावेज़ करने का प्रयास कर रहा हूं। सिस्टम ऑब्जेक्ट विशेषताओं में से किसी एक के लिए निम्न दो संभावनाओं को अनुमति देता है।जेसन स्कीमा

या तो

{ 
    "tracking_number" : 123 
} 

या

{ 
    "tracking_number" : [ 123, 124, 125 ] 
} 

मैं इस का उपयोग कर json स्कीमा कैसे व्यक्त कर सकते हैं?

उत्तर

6

anyOf का उपयोग करने के लिए यह दावा करने के लिए कि संपत्ति एक या किसी अन्य स्कीमा के अनुरूप होनी चाहिए।

{ 
    "type": "object", 
    "properties": { 
     "tracking_number": { 
      "anyOf": [ 
       { "$ref": "#/definitions/tracking_number" }, 
       { "type": "array", "items": { "$ref": "#/definitions/tracking_number" } 
      ] 
    }, 
    "definitions": { 
     "tracking_number": { "type": "integer" } 
    } 
} 
+4

जब मैं आपका नाम पढ़ता हूं तो हंसना होता था ... वह कोई है जो JSON के बारे में सलाह दे सकता है! – gnasher729

+0

यह पता चला है कि इस स्थिति में मेरे लिए "वनऑफ" बेहतर था। लेकिन तुमने मुझे सही रास्ते पर स्थापित किया। –