Skip to content

Commit

Permalink
Leere Listen - überarbeitet wg. Issue #223
Browse files Browse the repository at this point in the history
  • Loading branch information
marians committed Jun 27, 2014
1 parent bd1edeb commit 954e225
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions dokument/master/chapter_8000.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,16 +26,19 @@ als Datentyp erwartet.
### `null`-Werte und "leere" Werte

JSON erlaubt es grundsätzlich, Eigenschaften mit dem Wert `null` zu versehen.
Ein _Client_ MUSS `null`-Werte tolerieren und SOLL diese Eigenschaften
nicht anders anzeigen, als nicht vorhandene Eigenschaften.

Entsprechendes gilt für leere Wertemengen oder -listen, also `[]`, und leere
Objekte, also `{}`.
Clients MÜSSEN eine Eigenschaft mit dem Wert `null` so behandeln, als
wäre die Eigenschaft nicht im Objekt vorhanden. OParl-Server SOLLEN die
Ausgabe von Eigenschaften mit dem Wert `null` grundsätzlich vermeiden.

Dafür gibt es zwei Gründe. Einerseits wird dadurch die Umgehung des Zwangs zur
Angabe von Werten bei ZWINGENDEN Eigenschaften ausgeschlossen. Andererseits
enthalten solche Leerkonstruktionen keine verwendbare Information.
Analog dazu SOLLEN Server vermeiden, leere JSON-Arrays und -Objekte
(`[]` und `{}`) auszugeben. Auch hier sind Clients dazu angehalten, diese
wie nicht existierende Eigenschaften zu behandeln.

Ausnahmen bilden hier Eigenschaften, die ihrerseits als Pflichteigenschaften
("ZWINGEND") deklariert sind und die Kardinalität "1 bis *" besitzen,
also eine Liste als Wert haben können. Diese Eigenschaften DÜRFEN auch dann
gesetzt sein, wenn ihr Wert eine leere Liste ist.

### Kardinalität

Expand Down

0 comments on commit 954e225

Please sign in to comment.