Dieser Abschnitt gilt nur für die Konfiguration von IBM Business Automation Workflow Advanced.

Handhabung von 'null' und 'nicht gesetzt' in Arrays und Objekten im Format JSON

In diesem Abschnitt wird die Handhabung von Nullwerten und fehlenden Angaben in Arrays und Objekten im Format JSON erläutert.

Im Format JSON gibt es Konzepte für einen Nullwert und leere Arrays und Objekte. In diesem Abschnitt wird erklärt, wie diese Konzepte den entsprechenden Datenobjektkonzepten für Nullwerte und fehlende Angaben zugeordnet werden.

Nullwerte

Im Format JSON gibt es einen besonderen Wert mit der Bezeichnung null, der für jeden Datentyp einschließlich Arrays, Objekte, Zahlen und boolesche Typen eingestellt werden kann.

34	{				        Schema types
35	    "id":null,				(integer)
36	    "firstName": null,			(string)
37	    "address": null,			(Address complex type with maxOccurs = 1)
38	    "homeAddresses":null		(Address complex type with maxOccurs > 1)
39	    "phoneNumbers": null		(string with maxOccurs > 1)
40	}

Unter Berücksichtigung des obigen Beispiels, in dem JSON-Daten mit einem Nullwert in ein Datenobjekt ausgewertet werden, gilt Folgendes:

  • id - Wenn für die Eigenschaft im Schema definiert ist, dass sie auf null festlegbar ist, wird für sie null eingestellt. Wenn für die Eigenschaft nicht definiert ist, dass null festlegbar ist, wird eine Ausnahmebedingung ausgelöst.
  • firstName - Der Nullwert wird für die Eigenschaft eingestellt.
  • address - Wenn für die Eigenschaft im Schema definiert ist, dass sie auf null festlegbar ist, wird für sie null eingestellt. Wenn für die Eigenschaft nicht definiert ist, dass null festlegbar ist, wird eine Ausnahmebedingung ausgelöst.
  • homeAddresses - Da das Festlegen eines Nullwerts für diese Eigenschaft im Schema nicht zulässig ist, wird die Einstellung zurückgenommen.
  • phoneNumbers - Für die Eigenschaft muss definiert sein, dass für sie null festlegbar ist, da sonst eine Ausnahmebedingung ausgelöst wird.

Wenn während der JSON-Serialisierung der Wert einer Eigenschaft im Datenobjekt null ist, wird es als eine JSON-Null serialisiert.

Nicht eingestellte Eigenschaft

Das Nichtvorhandensein einer Eigenschaft in den JSON-Daten wird als nicht eingestelltes Attribut im Datenobjektbereich abgebildet. Wenn eine Eigenschaft im Datenobjekt nicht eingestellt (nicht gesetzt) ist, wird die Eigenschaft in den JSON-Daten nicht angezeigt.

Leere Eigenschaft

Das JSON-Konzept für fehlende Angaben gilt wie im Folgenden dargestellt für Arrays und Objekte.

41	{
42	    "address":{}
43	     "homeAddresses":[]
44	      "phoneNumbers":[]
45	}

Für die Adresse wird ein Datenobjekt mit einer leeren Adresse erstellt. Das Datenobjekt verfügt nicht über ein Konzept für leere Listen. Aus diesem Grund wird für das Datenobjekt für diese zwei Eigenschaften keine Aktion ausgeführt.