WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Analizador y dominio JSON

JSON (JavaScript Object Notation) es un sencillo formato de intercambio de datos basado en un subconjunto del lenguaje de programación JavaScript.

WebSphere Message Broker proporciona soporte para un dominio JSON. Los mensajes del dominio JSON los procesa el analizador y serializador JSON. El analizador JSON interpreta una corriente de bits utilizando la gramática JSON y genera un árbol lógico de mensajes del dominio JSON correspondiente en el intermediario. Al procesar datos de salida, el serializador JSON genera una corriente de datos con formato JSON a partir de un árbol lógico de mensaje del dominio JSON.

El analizador y serializador JSON no dan soporte a la validación de mensajes porque el modelo de mensajes JSON no está soportado por el intermediario.

Para habilitar la función que queda disponible en los fixpacks de WebSphere Message Broker, utilice el parámetro -f en el mandato mqsichangebroker. Para obtener más información, consulte Mandato mqsichangebroker.

JSON es un formato de texto independiente del lenguaje, basado en dos estructuras: Los objetos y matrices pueden estar anidados.

Para obtener más información sobre la estructura de mensajes JSON, consulte el apartado Detalles de mensajes JSON.

Las corrientes de datos JSON se pueden analizar a partir de cualquier ID de juego de caracteres codificado (CCSID) que esté soportado por el intermediario. La corriente de datos se analiza de acuerdo con el CCSID definido por el transporte cuando el analizador JSON se invoca desde un nodo de entrada o petición o definida por el parámetro CCSID en una cláusula PARSE en una llamada de función CREATE. Si no se especifica ningún CCSID, o si se establece un valor de 0, el analizador intenta detectar (examinando los primeros bytes de la corriente de datos) si se utiliza una de los siguientes codificaciones Unicode:

Si se especifica un CCSID UTF-* de manera explícita, el analizador JSON tolera el correspondiente Byte Order Mark (BOM) al principio de la corriente de datos.

Las corrientes de datos JSON se analizan en un árbol lógico de mensaje bajo el elemento Data debajo de la raíz del analizador JSON. La estructura de árbol lógico se muestra en Mensaje JSON de ejemplo.

El elemento Data puede accederse y manipularse desde ESQL como JSON.Data, desde Java™ como JSON/Data, desde PHP como JSON->Datao desde XPath como $Body/Data. El analizador JSON emite un error si una corriente de bits no tiene un formato conforme a la gramática JSON.

El serializador JSON serializa árboles de mensaje en una corriente de datos de formato JSON. El CCSID se puede definir por el árbol de propiedades del intermediario o por las cabeceras de transporte en el conjunto de mensajes. Si no se define ningún CCSID, el serializador adopta el CCSID del gestor de colas predeterminado para todos los nodos excepto los nodos HTTP, que toman el valor predeterminado de codificación UTF-8.

Cuando se invoca el serializador JSON mediante una llamada de función ASBITSTREAM, el CCSID se define en el parámetro CCSID. Si no se proporciona ningún parámetro CCSID, o si el valor se establece en 0, el serializador JSON toma como valor predeterminado la codificación UTF-8.

Para procesar mensajes con el analizador JSON, seleccione JSON como Dominio de mensajes en el nodo pertinente del flujo de mensajes. El nodo Mapping y el nodo XSLTransform no dan soporte al dominio JSON.

El intermediario establece la cabecera HTTP Content-Type en application/json al serializar un árbol de mensajes JSON, a no ser que se establezca un valor explícito en el flujo de mensajes.

Los objetos JSON se modelan en el árbol de mensaje del intermediario como una secuencia de elementos NameValue. El analizador crea el árbol de mensaje en el orden en que se encuentra los miembros en la corriente de bits. El serializador escribe los miembros del objeto en la corriente de bits en el orden de árbol.

Las matrices JSON se modelan en el árbol de mensaje del intermediario como un elemento Name con un distintivo JSON específico de analizador de matriz JSON e hijos ordenados. Los hijos pueden ser cualquiera de los siguientes tipos de matriz:

Mensaje JSON de ejemplo

El ejemplo siguiente muestra un mensaje JSON simple:

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

Esta entrada JSON genera el siguiente árbol lógico de mensaje de intermediario:

(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)
    )
  )
)
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

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

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:00:55


Tema de conceptoTema de concepto | Versión 8.0.0.5 | bc28400_