【问题标题】:Mule Dataweave: How to dynamically map HTTP response(JSON) to XML outputMule Dataweave:如何将 HTTP 响应(JSON)动态映射到 XML 输出
【发布时间】:2019-06-23 10:53:12
【问题描述】:

我正在构建一个应用程序,我必须点击一个安静的界面,并将响应的特定部分传递给 UI。

响应模型非常庞大,包含很多字段(字符串、对象数组、对象、数字数据类型),因此使用手动转换非常痛苦。

有没有办法将响应部分映射到变量并直接发送到 UI。

我试过了,

 %dw 2.0
%output application/xml

%var UserAcct= payload.UserResponse.UserDetailsResp.UserAccounts

---
{
  User: {
     "UserAccount": {   
        Account:  UserAcct
     }
   }
}

这不起作用,因为有效负载在响应中有列表、对象数组等,并且映射到变量会引发错误。是否可以直接在dataweave中发送payload.UserResponse.UserDetailsResp.UserAccounts部分?请帮忙。

【问题讨论】:

  • 输入有效载荷和错误文本会很有帮助。
  • 您的标题也显示 dw 2.0 但您使用的是 dw 1.0 语法。正如@jerney 所说,一些示例输入和预期输出很有帮助

标签: mule dataweave mule-esb


【解决方案1】:

如果添加输入负载、错误和 XML 输出会更有帮助。

以下是假设您的场景的代码。你可以试试这个:

 %dw 2.0
 output application/xml
 ---
 {
   User: {
     "UserAccount": {   
        (payload.UserResponse.UserDetailsResp.UserAccounts map {
            Address:{
              <XMLFieldName>: $.<respectiveJSONFieldToMap>
              ....
            } 
        })
     }
   }
 } 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-04
    • 2020-02-05
    相关资源
    最近更新 更多