如果我有一个类似于表的结构的JSON,那么:
{
"table": {
"rows": [
[ 0, null, 1, 2, null ],
[ null, 1, 2, 3, null ],
[ 1, 2, 3, null, null ],
[ null, null, 1, 2, 1 ]
]
}
我可以使用这样的模式验证它(注意,我正在使用草案3,因为这是我的用于验证模式的库正在使用,如果我找到不同的库,草案4可能是可能的):
{
"$schema": "http://json-schema.org/draft-03/schema#",
"title": "Table with data",
"description": "A table with at least 1 row of data with 5 columns per row",
"type": "object",
"properties": {
"table" : {
"description" : "A table",
"type": "object",
"properties": {
"rows": {
"required" : true,
"description": "An array of rows",
"type" : "array",
"minItems" : 1,
"items" : {
"type": "array",
"minItems": 5,
"maxItems": 5
}
}
},
"required":true
}
}
}
这只是检查我们是table
,table
有rows
rows
是一个至少包含一个项目的数组。行本身是数组,并且那些数组具有5
项(列)。这很容易。
我想检查的是,每列(0...4
)都存在至少一个row
,其中值不为空。这是否可以在json模式中表达?或者是超出可以做到的事情。