0

この質問の別のタイトルは、「必要なプロパティの組み合わせ」です。

次のような json-schema で作業しているとします。

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "JSON schema for NLU (npm-link-up) library.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "list", "packages", "deps"
  ],
   // ... 
}

私がやりたいのは、「リスト」、「パッケージ」、「deps」のいずれかを必須にすることです。それは 1 つですが、存在する必要があるのは 1 つだけです。

したがって、次のようになります。

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "JSON schema for NLU (npm-link-up) library.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    {
      "min": 1,
      "max": 1,
      "selection":  ["list", "packages", "deps"]
    }
  ],
}

また

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "JSON schema for NLU (npm-link-up) library.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    {
      "operator": "or",
      "selection": ["list", "packages", "deps"]
    }
  ],
}

これは可能ですか?

4

1 に答える 1