Условная проверка схемы Json на основе значения свойства

У меня есть вход JSON, как показано ниже,

{
  "results": [
    {
      "name": "A",
      "testA": "testAValue"
    }
  ]
}

условие состоит в том, что если значение 'name' равно 'A', то обязательным полем должно быть 'testA', а если значением 'name' является 'B', то обязательным является 'testB'.

Это схема Json, которую я пробовал, и она не работает, как ожидалось,

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "required": [
    "results"
  ],
  "properties": {
    "results": {
      "type": "array",
      "oneOf": [
        {
          "$ref": "#/definitions/person"
        },
        {
          "$ref": "#/definitions/company"
        }
      ]
    }
  },
  "definitions": {
    "person": {
      "type": "object",
      "required": [
        "name",
        "testA"
      ],
      "properties": {
        "name": {
          "type": "string",
          "enum": [
            "A"
          ]
        },
        "testA": {
          "type": "string"
        }
      }
    },
    "company": {
      "type": "object",
      "required": [
        "name",
        "testB"
      ],
      "properties": {
        "name": {
          "type": "string",
          "enum": [
            "B"
          ]
        },
        "testB": {
          "type": "string"
        }
      }
    }
  }
}

Пробовал с"dependecies" в схеме JSON тоже, но не смог найти правильное решение.

Любая помощь / обходной путь с Образцом Схемы JSON для достижения вышеупомянутого варианта использования приветствуется.

Ответы на вопрос(1)

Ваш ответ на вопрос