JSON-Schema, das entweder ein Objekt oder ein Array dieser Objekte zulässt

Say Ich habe ein JSON-Schema, das ein Objekt wie das folgende zulässt:

...
  "assetMetadata": {
    "type": "object",
    "additionalProperties": false,
    "properties": { ... }
  }
...

Angenommen, ich möchte dies ändern, um entweder dasselbe Objekt ODER ein Array dieses bestimmten Objekts zuzulassen. Hier wird nur ein Array akzeptiert:

...
"assetMetadata": {
  "type": "array",
  "description": "...",
  "items": {
    "type": "object",
    "additionalProperties": false,
    "properties": {...}
}
...

Die Eigenschaften sind die gleichen (es ist das gleiche Objekt, nur die Option für mehrere anstelle von nur einem).

Interessanterweise kann der Unmarshaller in dem Projekt, an dem ich arbeite, bereits beides verarbeiten (er wandelt das einzelne Objekt in eine Sequenz der Größe 1 um), so dass es nur die Validierung ist, die mich daran hindert, weiterzumachen. Wir möchten die Vergleichbarkeit mit der vorhandenen API aufrechterhalten, weshalb ich jetzt nicht nur ein Array benötigen kann.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage