JSON Schemaの初歩的な整合性のメモ

以下のような構造の schema を用意して validate する際、

{
  "$schema": ..,
  "type": [
    "object"
  ],
  "definitions": {
    <parent>: {
      "$schema": ..,
      "title": ..,
      "description": ..,
      "links": [
      ],
      "type": [
        "object"
      ],
      "definitions": {
        <prop1>: {
          "type": [
          ]
        },
        <prop2>: {
          "type": [
          ]
        }
      }
    },
    "properties": {
      <prop1>: {
        "$ref": "",
      },
      <prop2>: {
        "$ref": "",
      }
    },
    "required": [
      <prop1>
    ]
  },
  "properties": {
    <parent>
  }
}

data としては

{
  <parent>: {
  }
}

こういう構造になっていないといけない。

data の構造が上のようになっていなくても エラーにはならない。

最上位の構造で "required": ["user"] を追加するとエラーになってくれる。

※ combine 前提で prmd で書き始めると最上位の構造に対して "required" ってどうやって定義するの?

More