2016-08-04 16 views
1

Unten ist eine Teilversion meines JSON-Schemas. Ich zur Zeit die json-schema Gem bin mit dem folgenden (Teil-) Schema zu validieren:JSON-Schemavalidierung fehlgeschlagen ... "Die Eigenschaft enthielt keine erforderliche Eigenschaft"

{ 
    "$schema": "http://json-schema.org/draft-04/schema#", 
    "properties": { 
    "botSettings": { 
     "type": "object", 
     "properties": { 
     "welcomeMessage": { 
      "type": "object", 
      "required": ["body"], 
      "properties": { 
      "title": { "type": "string" }, 
      "body": { "type": "string" }, 
      "image": { "#ref": "#/definitions/image" } 
      } 
     }, 
     "invalidCommandMessage": { "type": "string" } 
     } 
    } 
    } 
} 

gegen die folgenden (Teil-) json:

{ 
    "botSettings": { 
    "welcomeMessage": { 
     "title": "Welcome to the bot", 
     "body": "This is the body right here" 
    } 
    } 
} 

Wenn im strikten Modus Validierung, es heißt „Die Eigenschaft" #/botSettings/welcomeMessage 'enthielt keine erforderliche Eigenschaft von' image '", aber ich musste nur" body "angeben. Also was fehlt mir hier?

Antwort

1

Sie verpassen nichts. Ein Standard-JSON-Schema-Validator sollte Ihren JSON als gültig betrachten. Fehler beim Validieren können entweder ein Fehler im Validator, ein nicht standardmäßiges Verhalten im Validator (Konfigurationsüberprüfung) sein, oder es wird nicht gegen das Schema validiert, das Sie denken (Cache-Problem).