type Conf = {
idle_session_timeout?: number | "none",
item: {
kind: "attribute";
name: string;
} | {
kind: "relation";
name: string;
} | {
kind: "group";
name: string;
label?: string | undefined;
entries: PresentationItem[];
}
order_by: string | {
attribute: string;
direction?: "asc" | "desc" | undefined;
}
}
我从http://json-schema.org/draft-07/schema中注意到,它支持if then else语句根据值切换验证模式,但我不知道如何实现它们。
您需要注意以下几个关键字,并可能参考以下规范:
首先,“type”允许在一个数组中指定多个值。这样,您可以指定[“string”,“number”]
表示“string或number”。许多关键字仅在实例为特定JSON类型时应用。通常,您可以将一个“类型”模式和另一个不同的“类型”模式组合在一起,如果所有剩余的关键字仅适用于相应的类型。
因此,作为一个示例,您可以有两个模式,如下所示:
{
"type": "string",
"minLength": 1
}
{
"type": "number",
"minimum": 0
}
{
"type": ["string", "number"],
"minLength": 1
"minimum": 0
}
{
"type": "object",
"properties": {
"idle_session_timeout": {
"type": ["number","string"],
"anyOf": [ {"type":"number"}, {"const":"none"} ]
},
"item": {
"type": "object",
"required": ["kind", "name"],
"properties": {
"kind": { "type": "string" },
"name": { "type": "string" },
},
"anyOf": [
{
"properties": {
"kind": { "const": "attribute" },
}
},
{
"properties": {
"kind": { "const": "relation" },
}
},
{
"required": ["entries"],
"properties": {
"kind": { "const": "group" },
"label": { "type": "string" },
"entries": { "type":"array", "items": {"$ref":"PresentationItem"} },
}
}
]
},
"order_by": {
"type": ["string", "object"],
"required": ["attribute"],
"properties": {
"attribute": { "type": "string" },
"direction": { "enum": ["asc", "desc"] },
}
}
}
据我所知,有一些方法可以根据RDF模式验证序列化的RDF(例如RDF/XML)(如何用您的RDF模式验证RDF)。还有,从RDF/XML到JSON-LD序列化格式的各种转换器(反之亦然)。在Internet上搜索,我找不到一种直接的方法来验证JSON-LD与某种JSON模式的关系,就像RDF模式与RDF(/XML)的关系一样。当然,有各种各样的JSON-LD文档表单,所以我假设一个模式不能很容易地
问题内容: 例如,文件系统的架构,目录包含文件列表。该模式由文件规范,下一个子类型“ image”和另一个“ text”组成。 在底部是主目录架构。目录具有属性内容,该属性内容是应作为文件子类型的项目的数组。 基本上,我正在寻找一种告诉验证器从正在验证的json对象中的属性中查找“ $ ref”的值的方法。 示例json: “伪”模式 说明“图像”和“文本”定义包含在同一模式中,但它们可能在其他位
我有一个用例,我将把一个json-schema作为输入,验证它,然后保存在我的系统中。稍后,我将获取json数据,我需要使用上面提到的json-schema来验证这些数据。给定这个场景,我需要执行两个级别的验证: 我使用的是json-schema-validator jar,只能找到第二级验证,在文档中找不到json-schema验证。例如:假设我们有以下示例json-schema:
我不知道如何正确设置超架构以使用json架构验证器。我使用的是json模式验证器的java版本,版本是2.2.5。 我的模式是: 我的 json 对象是: 现在,当我将模式加载到并打算开始验证时,我得到以下警告: 除了$Schema字段之外,还有什么要配置以使用超模式的吗?
我有一个简单的表单,需要验证输入的开头和结尾是否不是空格。 在HTML5中,我将这样做: 在新的Angular 2 ngControl指令中,验证模式的正确属性是什么?官方的Beta API在这个问题上仍然缺乏留档。
我试图根据Python中的JSON模式验证TSV文件的行。下面是该模式的一个示例: TSV文件如下所示: null