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-Nachricht erstellen

Sie können JSON-Nachrichtendaten erstellen, die JSON-Objekte und/oder JSON-Arrays enthalten, indem Sie in der logischen Nachrichtenbaumstruktur unter dem Element Data, das zum JSON-Parserstammelement gehört, Elemente erstellen.

Eine JSON-Nachricht kann entweder über ein anonymes Objekt oder ein anonymes Array als Datenstammelement verfügen. Wenn Sie in der logischen Nachrichtenbaumstruktur ein JSON-Array erstellen, wird der JSON-Arrayname in einem Baumstrukturelement platziert, für das der JSON-Parserelementtyp JSON.Array festgelegt ist.

Die Einträge im JSON-Array werden als NameValue-Elemente in der logischen Baumstruktur platziert, als untergeordnete Elemente des Elements JSON.Array mit dem erforderlichen Wert. Die Namen dieser Array-Eintragselemente werden von der JSON-Serialisierungsmethode nicht verwendet, da JSON-Array-Einträge anonym sind. Verwenden Sie jedoch den Namen Item, wenn Sie Array-Eintragselemente definieren, damit die Konsistenz mit dem Namen, der vom JSON-Parser verwendet wird, gewahrt bleibt.

JSON-Objektnachricht erstellen

Das folgende Beispiel zeigt, wie eine JSON-Nachricht erstellt wird, die mit einem Objekt auf der Stammebene im Format { --- } formatiert ist.

Dieses Beispiel zeigt, wie eine einfache JSON-Objektnachricht mit einem Name/Wert-Paar erstellt wird:
{"Message":"Hello World"}
Für die Erstellung der Nachricht kann der folgende ESQL-Code verwendet werden:
SET OutputRoot.JSON.Data.Message = 'Hello World';
Zur Erstellung der Nachricht kann auch der folgende Java™-Code verwendet werden:
MbElement outRoot = outMessage.getRootElement();
MbElement outJsonRoot =
   outRoot.createElementAsLastChild(MbJSON.PARSER_NAME);
MbElement outJsonData =
   outJsonRoot.createElementAsLastChild(MbElement.TYPE_NAME, MbJSON.DATA_ELEMENT_NAME, null);
MbElement outJsonTest = outJsonData.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Message", "Hello World");
Zur Erstellung der Nachricht kann auch der folgende PHP-Code verwendet werden:
$output_message->{MB_JSON_PARSER_NAME}->{MB_JSON_DATA_ELEMENT_NAME}->Message = 'Hello World';
Folgendes Beispiel zeigt die daraus generierte Broker-Nachrichtenbaumstruktur:
Message: ( ['json' : 0xc552990]
  (0x01000000:Object   ):Data    = (
    (0x03000000:NameValue):Message = 'Hello World' (CHARACTER)
 )

JSON-Arraynachricht erstellen

Das folgende Beispiel zeigt, wie eine Nachricht erstellt wird, die mit einem Array auf der Stammebene im Format [ --- ] formatiert ist.

Dieses Beispiel zeigt, wie eine JSON-Arraynachricht erstellt wird:
["valueA","valueB"]
Für die Erstellung des Arrays kann auch der folgende ESQL-Code verwendet werden:
CREATE FIELD OutputRoot.JSON.Data IDENTITY (JSON.Array)Data;
CREATE LASTCHILD OF OutputRoot.JSON.Data TYPE NameValue NAME 'Item' VALUE 'valueA';
CREATE LASTCHILD OF OutputRoot.JSON.Data TYPE NameValue NAME 'Item' VALUE 'valueB';
Zur Erstellung des Arrays kann auch der folgende Java-Code verwendet werden:
MbElement outJsonRoot =
   outRoot.createElementAsLastChild("JSON");
MbElement outJsonData =
   outJsonRoot.createElementAsLastChild(MbJSON.ARRAY, "Data", null);
   outJsonData.createElementAsLastChild(MbElement.TYPE_NAME_VALUE,
                                        "Item", "valueA");
   outJsonData.createElementAsLastChild(MbElement.TYPE_NAME_VALUE,
                                        "Item", "valueB");
Zur Erstellung des Arrays kann auch der folgende PHP-Code verwendet werden:
$output_assembly->JSON->Data[] = array("valueA","valueB");

Weitere Informationen zu PHP-Arrays finden Sie im Abschnitt PHP-Arrays mit JSON verwenden.

Die Nachricht wird in der logischen Nachrichtenbaumstruktur des Brokers im folgenden Format erstellt:
Message: ( ['json' : 0xc552990]
  (0x01001000:Array     ):Data    = (
    (0x03000000:NameValue):Item = 'valueA' (CHARACTER)
    (0x03000000:NameValue):Item = 'valueB' (CHARACTER)
 )

JSON-Objektarray-Nachricht erstellen

Das folgende Beispiel zeigt, wie eine Nachricht erstellt wird, die mit einem Objektarray auf der Stammebene im Format [{--},{--},...] formatiert ist.

Dieses Beispiel zeigt, wie die JSON-Objektarray-Nachricht erstellt wird:
[{"Nam1":"val1","Num1":1},{"Nam2":"val2","Num2":2}]
Für die Erstellung des Arrays kann auch der folgende ESQL-Code verwendet werden:
CREATE FIELD OutputRoot.JSON.Data IDENTITY (JSON.Array)Data;
SET OutputRoot.JSON.Data.Item[1].Nam1 = 'val1';
SET OutputRoot.JSON.Data.Item[1].Num1 = 1;
SET OutputRoot.JSON.Data.Item[2].Nam2 = 'val2'
SET OutputRoot.JSON.Data.Item[2].Num2 = 2;
Zur Erstellung des Arrays kann auch der folgende Java-Code verwendet werden:
MbElement jsonData =    
   outMessage.getRootElement().createElementAsLastChild(MbJSON.PARSER_NAME).createElementAsLastChild
                                        (MbJSON.ARRAY,MbJSON.DATA_ELEMENT_NAME, null);
MbElement jsonFirstArrayItem = 
   jsonData.createElementAsLastChild(MbElement.TYPE_NAME, MbJSON.ARRAY_ITEM_NAME, null);
   jsonFirstArrayItem.createElementAsFirstChild(MbElement.TYPE_NAME_VALUE, "Nam1", "val1");
   jsonFirstArrayItem.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Num1", new Integer(1));

MbElement jsonSecondArrayItem = 
   jsonData.createElementAsLastChild(MbElement.TYPE_NAME, MbJSON.ARRAY_ITEM_NAME, null);
   jsonSecondArrayItem.createElementAsFirstChild(MbElement.TYPE_NAME_VALUE, "Nam2", "val2");
   jsonSecondArrayItem.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Num2", new Integer(2));
Die Nachricht wird in der logischen Nachrichtenbaumstruktur des Brokers im folgenden Format erstellt:
Message: ( ['json' : 0xc673900]
  (0x01001000:Array     ): Data = (
    (0x01000000:Object):Item = (
      (0x03000000:NameValue):nam1 = 'val1' (CHARACTER)
      (0x03000000:NameValue):num1 = 1 (INTEGER)
    )(0x01000000:Object):Item = (
      (0x03000000:NameValue):nam2 = 'val2' (CHARACTER)
      (0x03000000:NameValue):num2 = 2 (INTEGER)
    )
  )
)
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 | bc28411_