首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON条件内的anyOf?

JSON条件内的anyOf?
EN

Stack Overflow用户
提问于 2019-09-12 13:03:20
回答 1查看 798关注 0票数 0

我试图用条件来定义一个JSON模式。我建立了一个MVE,它已经不像我期望的那样起作用了。

我要验证的对象是:

代码语言:javascript
复制
{
  "keiner": false, 
  "abdominal": true,
  "zervikal": false
}

条件规则很简单。当"keiner“为真时,其他两个值都必须是假的。如果"keiner“是假的,那么另外两个中至少有一个必须是真的。

我编写了这个模式:

代码语言:javascript
复制
{
  "type": "object",
  "properties": {
    "keiner": { "type": "boolean" },
    "abdominal": { "type": "boolean" }
  },
  "if": {
    "properties": {
      "keiner": { "const": true }
    }
  },
  "then": {
    "properties" : {
      "abdominal": { "const": false },
      "zervikal": {"const": false }
    }
  },
  "else": {
    "properties": {
      "anyOf": [
        { "abdominal": { "const": true } },
        { "zervikal": { "const" : true } }
      ]
    }
  }
}

但是Newtonsoft在线验证程序提供了错误消息。

读取“任意”的值时遇到的意外令牌。期望的StartObject布尔得到StartArray。

从“任何”开始的那一行。这让我感到困惑,因为我可以找到的所有示例都显示为anyOf,后面跟着一系列选项。

那我做错什么了?为什么我不能在startArray之后使用anyOf,以及如何正确地编写模式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-12 13:27:31

我想这就是您要寻找的模式:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57907395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档