2016-11-03 2 views
0

схемы является:jsonschema и проверить-JSON не проверяют "требуется"

{ 
    "$schema": "http://json-schema.org/draft-04/schema#", 

    "header": { 
     "type": "object", 
     "properties": { 
      "token":   { "type": "string" }, 
      "id":   { "type": "number" }, 
      "command":  { "type": "string" } 
     }, 
     "required": ["token", "id", "command"] 
    } 
} 

Но такие вещи, как, что это нормально для валидаторов:

{ 
    "badtoken": "abc123", 
    "badcommand": "123" 
} 

командной строки:

$ jsonschema -i file.json schema.json 

$ validate-json file.json schema.json 

Почему это не работает?

ответ

0

На самом деле, я хотел бы сделать список определений, а затем использовать их:

{ 
    "$schema": "http://json-schema.org/draft-04/schema#", 

    "definitions": { 
     "header": { 
      "type": "object", 
      "properties": { 
       "token":   { "type": "string" }, 
       "id":   { "type": "number" }, 
       "command":  { "type": "string" } 
      }, 
      "required": ["token", "id", "command"] 
     } 
    }, 

    "$ref": "#/definitions/header" 
} 

Validation работает, как ожидалось.

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