首页 > 解决方案 > 获取动态服务器响应的根对象

问题描述

我正在实现一个返回主体内不同根对象的 API。例如:

{
   "money_expected_revenue": {
   // payload
   }
}
or
{
   "money_other_revenue": {
   // payload
   }
}

模块输出应该是根对象内的有效负载。如何才能做到这一点?

标签: javascriptintegromatintegromat-apps

解决方案


您需要编写一个自定义 IML 函数,使用 Javascript 方法Object.entries()检索第一个键值对并返回值:

function getRootObj(body) {
    if (body && Object.entries(body).length === 1)
        return Object.entries(body)[0][1];
    return {};
}

然后,在模块的通信选项卡中,在输出中使用此函数:

"response": {
    "output": "{{getRootObj(body)}}"
}

推荐阅读