2017-10-04 4 views
2

ich folgende JSON-Daten haben:Json Schema-Validierung: Eindeutiger Schlüssel in json Array

[ 
    { 
    "unique1":{ 
    "id":3 
    } 
    }, 
    { 
    "unique2":{ 
    "id":4 
    } 
    } 
] 

Jedes Array-Element hat ein JSON-Objekt mit einer Top-Level-eindeutigen Schlüssel. Wenn ich versuche, ein Validierungsschema dafür zu schreiben, kann ich nur bestätigen, dass das vollständige Array eindeutig ist, aber nicht der oberste Schlüssel in jedem Array.

{ 
    "$schema": "http://json-schema.org/draft-06/schema#", 
    "type": "array", 
    "uniqueItems": true, 
    "items": { 
    "type": "object", 
    "patternProperties": { 
     "^.*$": { 
     } 
    } 
    } 
} 

Nach JSON-Daten sollten zur Validierung fehlschlagen:

[ 
    { 
    "unique1":{ 
    "id":3 
    } 
    }, 
    { 
    "unique1":{ 
    "id":4 
    } 
    } 
] 

Antwort

0

Es gibt kein Standard JSON Schema Schlüsselwort, das diese Validierungsanforderung zum Ausdruck bringen kann.

(für JavaScript) hat ein benutzerdefiniertes Schlüsselwort "uniqueItemProperties" (in ajv-keywords Paket), das tut, was Sie verlangen.

Sie können es für die nächsten Versionen des Standards vorschlagen.

Verwandte Themen