Todas as coleções
Componentes
Tools
JSON to JSON String Transformer
JSON to JSON String Transformer

Conheça o componente e saiba como utilizá-lo.

Erick Rubiales avatar
Escrito por Erick Rubiales
Atualizado há mais de uma semana

IMPORTANTE: esta documentação foi descontinuada. Leia a documentação JSON to JSON String Transformer atualizada no nosso novo portal de documentação.

O JSON to JSON String Transformer transforma objetos JSON em JSON strings.

Dê uma olhada nos parâmetros de configuração do componente:

  • JSON Field Path: JSON como caminho do campo string em notação com pontos.

  • Preserve Original: se ativada, a opção preserva os campos originais.

Fluxo de Mensagens

Entrada

O componente espera uma mensagem em qualquer formato, mas vai procurar procurar por um caminho dentro da propriedade de configuração JSON Field Path.

Saída

A estrutura será igual a de entrada, porém com outra propriedade de JSON string e a sua representação de objeto JSON. Em caso de erro, a propriedade "error" será criada no mesmo nível da propriedade original.

A notação com pontos de JSON vai procurar pelo elemento raiz que está sendo processado pelo pipeline e realizar um cruzamento de acordo com as especificações passadas na propriedade JSON Field Path.

Exemplo:

Em uma representação do JSON Field Path contendo a.b.c.d, "a" será procurado no elemento raiz. Em seguida será o "b", depois o "c" e finalmente o "d". Se um array for encontrado durante o cruzamento, então o algoritmo vai gerar um caminho de cruzamento para cada elemento no array. O algoritmo substitui todas as ocorrências do caminho definido em JSON Field Path.

JSON to JSON String Transformer em Ação

Config

{
"type": "transformer",
"stepName": "prepare-transformer",
"transformSpec": [
    {
    "operation": "default",
        "spec": {
            "payload": {
                "a": "a",
                    "b": [
                        {
                            "c": 2,
                            "d": 3
                        }
                    ]
                }
            }
        }
    ]
},
{
    "type": "json-to-json-string-transformer",
    "stepName": "json-to-json-string-transformer",
    "jsonFieldPath": "payload",
    "preserveOriginal": true
}

Resultado

{
"payload": "{\"a\":\"a\",\"b\":[{\"c\":2,\"d\":3}]}",
    "_payload": {
    "a": "a",
        "b": [
            {
                "c": 2,
                "d": 3
            }
        ]
    }
}
Respondeu à sua pergunta?