2016-07-18 100 views
0

我試圖創建一個JSON模式爲現有的JSON文件看起來是這樣的一個名爲「類型」的屬性類型定義:創建使用JSON模式

{ 
    "variable": { 
    "name": "age", 
    "type": "integer" 
    } 
} 

在架構,我想爲確保type屬性的值爲stringinteger

{ 
    "variable": { 
    "name": "string", 
    "type": { 
     "type": "string", 
     "enum": ["string", "integer"] 
    } 
    } 
} 

不幸的是它吹了消息:ValidationError {is not any of [subschema 0]...

我讀過JSON模式中有「無保留字」,所以我假設一種類型是有效的,假設我正確地聲明它?

回答

1

根據the specification,在Valid typestype

該關鍵字的值必須是字符串或數組。如果它是一個數組,則數組的元素必須是字符串,並且必須是唯一的。 字符串值必須是核心規範定義的七種基本類型之一。

後來,在Conditions for successful validation

實例成功匹配,如果它的原語類型是關鍵字定義的類型之一。回想一下:「數字」包含「整數」。

你的情況:

{ 
    "variable": { 
    "name": "string", 
    "type": ["string", "integer"] 
    } 
}