2016-09-09 8 views
1

Я новичок о НПМ ajvВЫКЛЮЧАТЕЛЬ в JSon схеме (v5 предложение)

У меня есть вопрос: Сколько «переключатель» в объект JSON? пример:

var schema = { 
    "type": "object", 
    "switch": [ 
     { 
      "if": { 
       "properties": { 
        "powerLevel": {"constant": false} 
       } 
      }, 
      "then": { 
       "required": ["disbelief"] 
      } 
     }, 
     { 
      "then": { 
       "required": ["confidence"] 
      } 
     } 
    ], 
    "switch": [ 
     { 
      "if": { 
       "properties": { 
        "power": {"constant": false} 
       } 
      }, 
      "then": { 
       "required": ["disb"] 
      } 
     }, 
     { 
      "then": { 
       "required": ["conf"] 
      } 
     } 
    ] 
}; 

Испытываю со схемой выше в этом link

это просто проверить конечный выключатель. , пожалуйста, помогите мне! благодаря!

ответ

1

Вы не можете переключаться между двумя ключевыми словами в одном и том же объекте.

В данном конкретном случае вы можете объединить «дела» в одном коммутаторе:

{ 
    "type": "object", 
    "switch": [ 
     { 
      "if": { "properties": { "powerLevel": {"constant": false} } }, 
      "then": { "required": ["disbelief"] } 
     }, 
     { 
      "if": { "properties": { "power": {"constant": false} } }, 
      "then": { "required": ["disb"] } 
     }, 
     { 
      "then": { 
       "oneOf": [ 
        { "required": ["confidence"] }, 
        { "required": ["conf"] } 
       ] 
      } 
     } 
    ] 
} 

В общем случае вы можете использовать ключевые слова allOf, anyOf, oneOf объединить две схемы, содержащие повторяющиеся ключевые слова между ними.

+0

спасибо ....: D – tile

 Смежные вопросы

  • Нет связанных вопросов^_^