[英]Validate JSON Schema for list of known values
我的代碼中有一個特殊的枚舉案例,需要對其進行驗證:
{
"status": 10
}
讓我們使用這個虛構的有效值列表:
var valid = [10, 20, 23, 27];
如何更改JSON架構以驗證這些值之一?
{
type: 'object',
required: ['status'],
properties: {
status: { type: number },
}
}
您只需將status
屬性定義為一個enum
:
{
"type" : "object",
"required" : ["status"],
"properties" : {
"status" : {
"type" : "number",
"enum" : [10, 20, 23, 27]
}
}
}
如果我理解正確,我認為您將不得不遍歷所有值,因為Javascript沒有像枚舉之類的東西。
var validValues = [ 10, 20, 23, 27 ];
var statusType = json.properties.status.type;
/* This function call will return a boolean that tells you wether the value in your json is valid or not.*/
isValid( statusType );
function isValid( statusType )
{
for( var i = 0; i < validValues.length; i++ )
if( statusType === validValues[i] )
return true;
return false;
}
我將示例簡化了一些,但您會發現我的意思。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.