【问题标题】:Transform Json array without key to SOQL format in mule在 mule 中将没有密钥的 Json 数组转换为 SOQL 格式
【发布时间】:2018-11-02 10:00:28
【问题描述】:

转换Json格式如下

输入:

["100555809","100000001"]

转换为以下格式,以便通过在 salesforce 连接器中为转换后的输出分配一些流变量来在 SOQL 查询中使用它。

输出:

('100555809','100000001')

【问题讨论】:

  • @Moderators,如果这是无关紧要的问题,请告诉我解决方案,然后我可以将这个帖子删除(删除)。
  • 您能详细说明您要完成的工作吗?可能有比创建表示 SOQL 数组的字符串更好的方法。
  • 我想通过Mule中的dataweave实现输出。现在我正在使用表达式组件。所以只是想知道是否有更好的方法来做到这一点。我已经用我正在使用的表达式组件编辑了帖子。

标签: mule dataweave


【解决方案1】:

假设您的输入是有效负载并且您想要一个字符串作为输出,您需要使用 map 将所有 ID 括在单引号中,然后使用 joinBy 将它们连接成一个字符串。最后,将结果用括号括起来:

%dw 1.0
%output application/java

%var ids = payload

// Wrap ids in single quotes and join them into a string
%function formatIds(ids)
  ids 
    map ((id) -> "'$(id)'")
    joinBy ","

%function transformForSOQL(ids)
  "($(formatIds(ids)))"
---
transformForSOQL(ids)

不确定 SOQL 是否存在相同的漏洞,但如果是,请在生成这样的动态查询值时小心“SOQL”注入。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 2018-03-11
  • 2010-10-13
  • 2010-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多