WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Analisador e Domínio JSON

JSON (JavaScript Object Notation) é um formato de intercâmbio de dados simples baseado em um subconjunto da linguagem de programação JavaScript.

O WebSphere Message Broker fornece suporte para um domínio JSON. As mensagens no domínio JSON são processadas pelo serializador e pelo analisador JSON. O analisador JSON interpreta um fluxo de bits utilizando a gramática JSON e gera uma árvore de mensagens lógicas do domínio JSON correspondente no broker. Ao processar dados para saída, o serializador JSON gera um fluxo de bits formatado por JSON a partir de uma árvore de mensagens lógicas do domínio JSON.

O analisador e serializador JSON não suportam validação de mensagem porque o modelo de mensagem JSON não é suportado pelo broker.

Para ativar a função que se torna disponível nos fix packs do WebSphere Message Broker, use o parâmetro -f no comando mqsichangebroker. Para informações adicionais, consulte Comando mqsichangebroker.

JSON é um formato de texto independente de linguagem baseado em duas estruturas: Objetos e matrizes podem ser aninhados.

Para obter mais informações sobre estrutura de mensagem JSON, consulte Detalhes da Mensagem JSON.

Os fluxos de dados JSON podem ser analisados de qualquer ID de conjunto de caracteres codificado (CCSID) que seja suportado pelo broker. O fluxo de dados é analisado de acordo com o CCSID que é definido pelo transporte quando o analisador JSON é chamado de um nó de entrada ou de solicitação, ou definido pelo parâmetro CCSID em uma cláusula PARSE de uma função de chamada CREATE. Se nenhum CCSID for especificado, ou se um valor 0 for definido, o analisador tentará detectar (examinando os primeiros bytes do fluxo de dados) se uma das seguintes codificações Unicode está sendo usada:

Se um CCSID UTF-* for especificado explicitamente, o analisador JSON tolerará a Marca de Ordem de Byte (BOM) correspondente no início do fluxo de dados.

Os fluxos de dados JSON são analisados em uma árvore de mensagens lógica, sob o elemento Data abaixo da raiz do analisador JSON. A estrutura em árvore lógica é mostrada no Exemplo de Mensagem JSON.

O elemento Data pode ser acessado e manipulado do ESQL como JSON.Data, do Java™ como JSON/Data, do PHP como JSON->Data ou do XPath como $Body/Data. O analisador JSON emitirá um erro se um fluxo de bits não for formatado de acordo com a gramática JSON.

O serializador JSON serializa árvores de mensagens em um fluxo de dados de formato JSON. O CCSID pode ser definido pela árvore de propriedades do broker ou pelos cabeçalhos de transporte no conjunto da mensagem. Se nenhum CCSID for definido, o serializador definirá como padrão o CCSID padrão do gerenciador de filas para todos os nós, exceto nós HTTP, cujo padrão é a codificação UTF-8.

Quando o serializador JSON é chamado através de uma chamada de função ASBITSTREAM, o CCSID é definido pelo parâmetro CCSID. Se nenhum parâmetro CCSID for fornecido, ou se o valor for configurado como 0, o serializador JSON usará a codificação UTF-8 por padrão.

Para processar mensagens com o analisador JSON, selecione JSON como o Domínio de Mensagem no nó relevante no fluxo de mensagens. O nó Mapeamento e o nó XSLTransform não suportam o domínio JSON.

O broker configura o cabeçalho HTTP Content-Type como application/json ao serializar uma árvore de mensagens JSON, a menos que um valor explícito seja configurado pelo fluxo de mensagens.

Os objetos JSON são modelados na árvore de mensagens do broker como uma sequência de elementos NameValue. O analisador constrói a árvore de mensagens na ordem em que ele encontra os membros no fluxo de bits. O serializador grava os membros do objeto no fluxo de bits na ordem da árvore.

As matrizes JSON são modeladas na árvore de mensagens do broker como um elemento de Nome com um sinalizador JSON.Array de tipo específico do analisador JSON e filhos ordenados. Os filhos podem ser qualquer um dos seguintes tipos de matriz:

Exemplo de Mensagem JSON

O exemplo a seguir mostra uma mensagem JSON simples:

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

Esta entrada JSON produz a seguinte árvore de mensagens lógicas do broker:

(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 | Downloads | Biblioteca | Suporte | Feedback

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

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:30:55


Tópico de ConceitoTópico de Conceito | Versão 8.0.0.5 | bc28400_