正确的JSON模式用于不同类型的项目数组
我有一个JSON项目的无序数组。根据规范http://tools.ietf.org/html/draft-zyp-json-
schema-03#section-5.5,下面的json模式仅在数组中的对象出现在那个顺序中时才会验证。我不想指定顺序,只验证数组中的对象,而不管对象的顺序或数量如何。从规范我似乎无法理解如何完成此工作。
"transactions" : {
"type" : "array",
"items" : [
{
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["BUILD", "REASSIGN"]
}
}
},
{
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["BREAK"]
}
}
}
]
}
-
我在JSON模式Google组上问了同样的问题,很快就得到了回答。fge用户要求我在此处发布他的回复:
你好,
当前规范是v4草案,而不是v3草案。更具体地说,验证规范在这里:
http://tools.ietf.org/html/draft-fge-json-schema-
validation-00该网站不是最新的,我不知道为什么……我将提交拉取请求。
在草案v4中,您可以使用以下命令:
{ "type": "array", "items": { "oneOf": [ {"first": [ "schema", "here" ] }, {"other": [ "schema": "here" ] } ] } }
例如,这是一个数组的架构,其中的项可以是字符串或整数(尽管可以用更简单的方式编写):
{ "type": "array", "items": { "oneOf": [ {"type": "string"}, {"type": "integer"} ] } }
这是正确的答案。我更正的架构现在包括:
"transactions" : { "type" : "array", "items" : { "oneOf" : [ { "type" : "object", "properties" : { "type" : { "type" : "string", "enum" : ["BUILD", "REASSIGN"] } } }, { "type" : "object", "properties" : { "type" : { "type" : "string", "enum" : ["BREAK"] } } } ] } }
-
如何正确解组不同类型的数组?
2021-02-01 关注 0 浏览91 1答案
-
如何解码具有不同类型的JSON属性?
2021-01-31 关注 0 浏览78 1答案
-
来自json数据的AngularJS动态表单(不同类型)
2021-02-01 关注 0 浏览529 1答案
-
来自json数据的AngularJS动态表单(不同类型)
2021-01-31 关注 0 浏览77 1答案
-
如何解组具有不同值类型的json数组
2021-02-01 关注 0 浏览80 1答案
-
在列表中使用不同类型去解组JSON
2021-02-01 关注 0 浏览148 1答案
-
numpy将不同类型的数组保存到文本文件
2021-01-29 关注 0 浏览78 1答案
-
Gson解析具有不同对象类型的数组的Json
2021-01-31 关注 0 浏览129 1答案
-
Spring Data Mongodb-用于收集不同类型的存储库
2021-01-30 关注 0 浏览106 1答案
-
如何将不同类型的数据从文件导入Python Numpy数组?
2021-01-29 关注 0 浏览77 1答案