2016-02-17 24 views
7

JSson'un varolan bir kullanımını json şemasını kullanarak belgelemeye çalışıyorum. Sistem, nesne özelliklerinden biri için aşağıdaki iki olasılığa izin verir.Json şemasında toplam/birlik türleri nasıl temsil edilir

Ya

{ 
    "tracking_number" : 123 
} 

Ya

{ 
    "tracking_number" : [ 123, 124, 125 ] 
} 
Bunu kullanarak json şemayı ifade edebilir Nasıl

?

cevap

6

Özelliğin, bir veya başka şemaya uygun olması gerektiğini iddia etmek için anyOf kullanın.

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

Adını okuduğumda gülmeliydim ... JSON hakkında tavsiye verebilecek biri! – gnasher729

+0

Bu durumda "oneOf" un benim için daha iyi olduğunu ortaya koyuyor. Ama beni doğru yola koydu. –

İlgili konular