2012-11-27 118 views
2

我正在使用以下定義用戶列表的JSON模式。我使用模式一次註冊多個用戶。JSON數組需要必填字段

我想知道是否有方法來指定JSON中的每個對象至少包含一個註冊屬性?

這裏是我的架構:

{ 
    "description":"Schema definition for the request to register", 
    "type":"object", 
    "properties":{ 
     "registerRequests":{ 
     "type":"array", 
     "items":{ 
      "type":"object", 
      "properties":{ 
       "user":{ 
        "type":"object", 
        "properties":{ 
        "age":{ 
         "type":"integer", 
         "optional":true, 
         "minimum":1950, 
         "maximum":2100 
        }, 
        "name":{ 
         "type":"object", 
         "properties":{ 
          "code":{ 
           "type":"string", 
           "pattern":"^[\\w\\[email protected]#\\$%&\\-\\+=;:'\",\\.\\?\\(\\)\\\\/]{1,500}$" 
          }, 
          "Desc":{ 
           "type":"string", 
           "pattern":"^[\\w\\[email protected]#\\$%&\\-\\+=;:'\",\\.\\?\\(\\)\\\\/]{1,500}$" 
          } 
         }, 
         "optional":true 
        } 
       } 
       } 
      } 
     } 
     } 
    }, 
    "additionalProperties":false 
} 

我輸入註冊請求兩個用戶:

{ 
    "registerRequests": [ 
    { 
      "user": { 
       "age": "25", 
       "Desc": "Test" 
      } 
     }, 

     { 
      "user": { 
       "age": "20" 
     } 
    } 
    ] 
} 

在這裏,我要送兩個用戶的信息,併爲每個用戶對象請求包含至少一個屬性。如果我添加沒有任何屬性的第三個對象,我想限制JSON中的請求,說每個用戶對象至少需要一個字段。我正在尋找類似於模式或可選的屬性。

+3

您需要告訴我們您使用什麼來驗證對象的結構 – ThiefMaster

+3

JSON只是一種靜態數據格式。它本身無法阻止任何事情。 –

+0

你使用這個:http://json-schema.org/? –

回答

0

OK,相當晚了答案,但...

直至幷包括V3草案,沒有。

隨着草案v4(即將推出),是:"minProperties": 1