以外数据映射器这是企业功能,您可以使用表达转换器组件来创建 JSON 负载。
因此,当您在 HTTP 之后收到 JSON 有效负载时,您可以使用 json-to-object-transformer 解析 JSON(返回类型取决于您的 JSON),将元素的值存储在变量中,最后使用表达转换器创建动态 JSON..
让我们考虑一个非常简单的例子,让你的 JSON 是
{
"name": "Julio Cejas",
"id": 37
}
现在,你想要转换在下面的 JSON 中添加一个额外的元素,
{
"name": "Julio Cejas",
"id": 37,
"designation": "Director"
}
因此,您可以使用动态方式将一种 JSON 转换为另一种 JSON表达转换器在以下流程中:-
<flow name="DynamicJSONFlow1" doc:name="DynamicJSONFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8085" path="test" doc:name="HTTP"/>
<json:json-to-object-transformer returnClass="java.lang.Object" doc:name="JSON to Object"/>
<set-variable variableName="name" value="#[message.payload.name]" doc:name="Variable"/>
<set-variable variableName="id" value="#[message.payload.id]" doc:name="Variable"/>
<expression-transformer
expression="#[[
'name':flowVars.name,
'id':flowVars.id,
'designation':'Designation'
]
]" doc:name="Expression"/>
<json:object-to-json-transformer doc:name="Object to JSON"/>
<logger level="INFO" message="#[message.payload]" doc:name="Logger"/>
</flow>
您可以根据您的要求修改此流程,并且可以非常简单地生成任何格式的 JSON