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
}
]
}
}