WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

JSON-Parser und -Domäne

JSON (JavaScript Object Notation) ist ein einfaches Format für den Datenaustausch, das auf einer Untergruppe der JavaScript-Programmiersprache basiert.

WebSphere Message Broker bietet Unterstützung für eine JSON-Domäne. Nachrichten in der JSON-Domäne werden durch den JSON-Parser verarbeitet und serialisiert. Der JSON-Parser interpretiert einen Bitstrom mithilfe der JSON-Grammatik und erstellt im Broker eine der JSON-Domäne entsprechende logische Nachrichtenbaumstruktur. Bei der Ausgabeverarbeitung von Daten generiert der JSON-Serialisierungsmethode einen mit JSON formatierten Bitstrom aus einer logischen Nachrichtenbaumstruktur der JSON-Domäne.

Der JSON-Parser und die JSON-Serialisierungsmethode unterstützen keine Nachrichtenauswertung, da die JSON-Nachrichtenmodellierung vom Broker nicht unterstützt wird.

Funktionen, die in WebSphere Message Broker-Fixpacks verfügbar werden, können mit dem Parameter -f im Befehl mqsichangebroker aktiviert werden. Der Abschnitt Befehl mqsichangebroker enthält weitere Informationen hierzu.

JSON stellt ein sprachunabhängiges Textformat dar, das auf zwei Strukturen basiert: Objekte und Arrays können verschachtelt sein.

Weitere Informationen zur JSON-Nachrichtenstruktur finden Sie im Abschnitt JSON-Nachrichtendetails.

Die Analyse von JSON-Datenströmen kann über jede ID des codierten Zeichensatzes (CCSID) durchgeführt werden, die vom Broker unterstützt wird. Der Datenstrom wird gemäß der CCSID analysiert, die durch das Transportprotokoll definiert wird, sobald der JSON-Parser von einem Eingabe- oder Anforderungsknoten aufgerufen wird, oder die durch den CCSID-Parameter in einer PARSE-Klausel in einem CREATE-Funktionsaufruf definiert wird. Wenn entweder keine CCSID angegeben oder der Wert 0 festgelegt wird, versucht der Parser (durch Untersuchung der ersten paar Bytes des Datenstroms) zu erkennen, ob eine der folgenden Unicode-Versionen verwendet wird:

Wenn explizit eines der 'UTF-*'-Formate für die CCSID angegeben ist, akzeptiert der JSON-Parser die entsprechende Byteanordnungsmarkierung (BOM, Byte Order Mark) am Anfang des Datenstroms.

JSON-Datenströme werden in einer logischen Nachrichtenbaumstruktur unter dem Element Data analysiert, das zum Parserstammelement JSON gehört. Die logische Baustruktur ist im Abschnitt Beispiel für eine JSON-Nachricht dargestellt.

Der Zugriff auf das Element Data und die Bearbeitung dieses Elements kann über ESQL als JSON.Data, über Java™ als JSON/Data, über PHP als JSON->Data oder über XPath als $Body/Data erfolgen. Der JSON-Parser gibt einen Fehler aus, wenn ein Bitstrom nicht gemäß der JSON-Grammatik formatiert ist.

Die JSON-Serialisierungsmethode wandelt Nachrichtenbaumstrukturen durch Serialisierung in ein JSON-Format um. Die CCSID kann entweder durch die Brokereigenschaftsbaumstruktur oder durch Transportheader in der Nachrichtenassemblierung definiert werden. Wenn keine CCSID definiert ist, wird als Serialisierungsmethode standardmäßig die CCSID des Warteschlangenmanagers verwendet. Dies gilt für alle Knoten außer HTTP-Knoten, deren Serialisierungsmethode standardmäßig die UTF-8-Codierung ist.

Bei Aufruf der JSON-Serialisierungsmethode durch den Funktionsaufruf ASBITSTREAM wird die CCSID durch den CCSID-Parameter definiert. Wenn kein CCSID-Parameter angegeben wird oder dessen Wert 0 ist, wird als JSON-Serialisierungsmethode standardmäßig die UTF-8-Codierung verwendet.

Zur Verarbeitung von Nachrichten mit dem JSON-Parser wählen Sie JSON als Nachrichtendomäne auf dem betreffenden Knoten im Nachrichtenfluss aus. Der Mapping- und der XSLTransform-Knoten unterstützen die JSON-Domäne nicht.

Bei der Serialisierung einer JSON-Nachrichtenbaumstruktur setzt der Broker den HTTP-Inhaltsheader auf application/json, sofern vom Nachrichtenfluss kein expliziter Wert festgelegt wird.

JSON-Objekte werden in der Nachrichtenbaumstruktur des Brokers als Sequenz von NameValue-Elementen modelliert. Der Parser erstellt die Nachrichtenbaumstruktur in der Reihenfolge, in der er die Elemente im Bitstrom erkennt. Die Serialisierungsmethode schreibt die Objektelemente in der Reihenfolge der Baumstruktur in den Bitstrom.

JSON-Arrays werden in der Nachrichtenbaumstruktur des Brokers als Name-Element mit einem für den JSON-Parser spezifischen Typattribut 'JSON.Array' und geordneten untergeordneten Elementen modelliert. Bei den untergeordneten Elementen kann es sich um einen der folgenden Arraytypen handeln:

Beispiel für eine JSON-Nachricht

Das folgende Beispiel zeigt eine einfache JSON-Nachricht:

{
    "name" : "John Doe",
    "age" : -1.0,
    "known" : false,
    "address" : { "street" : null,
                  "city" : "unknown" },
    "belongings" : ["item1", "item2", "item3"]
}

Diese JSON-Eingabe generiert die folgende logische Nachrichtenbaumstruktur des Brokers:

(0x01000000:Object):JSON            = ( ['json' : 0xd55fc8]
  (0x01000000:Object):Data   = (
    (0x03000000:NameValue): name    = 'John Doe' (CHARACTER)
    (0x03000000:NameValue):age        = -1E+0 (FLOAT)
    (0x03000000:NameValue): known   = FALSE (BOOLEAN)
    (0x01000000:Object   ): address = (
      (0x03000000:NameValue):street = NULL
      (0x03000000:NameValue): city = 'unknown' (CHARACTER)
    )
    (0x01001000:Array    ):belongings = (
      (0x03000000:NameValue): Item = 'item1' (CHARACTER)
      (0x03000000:NameValue): Item = 'item2' (CHARACTER)
      (0x03000000:NameValue): Item = 'item3' (CHARACTER)
    )
  )
)
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:34


KonzeptthemaKonzeptthema | Version 8.0.0.5 | bc28400_