【问题标题】:how to get array of integers in dataweave如何在dataweave中获取整数数组
【发布时间】:2016-09-22 20:23:49
【问题描述】:

我的输入值为 { {Id:“1”}, {Id:“2”}, {编号:“3”} }

我希望在 mule anypoint studio 中使用 DataWeave 以整数格式输出数组 {1,2,3},以便我可以使用有效负载从 sql server 数据库中查询记录,而不是循环使用每个处理器。

我想把它当作

select * from tblQuotes where id in #[payload]

更新: 它是必需的,如

       select * from tblQuotes where id in (1,2,3)

【问题讨论】:

    标签: mule mule-studio anypoint-studio dataweave


    【解决方案1】:
    输出: [{"Id":"1"}, {"Id":"2"}, {"Id":"3"}] 映射 ((value , index) -> value.Id as :number) 要么 输出:有效载荷映射((值,索引)-> value.Id as :number) 对于输入: [{"Id":"1"}, {"Id":"2"}, {"Id":"3"}] 输出: [1,2,3]

    【讨论】:

    • 虽然这段代码可以回答问题,但最好解释一下如何解决问题,并提供代码作为示例或参考。仅代码的答案可能会令人困惑且缺乏上下文。
    【解决方案2】:

    尝试关注

    %dw 1.0
    %output application/json
    ---
    (payload map {
        id : $.Id as :number
    }).*id
    

    作为输入

    [{"Id":"1"}, {"Id":"2"}, {"Id":"3"}]

    输出

    [1,2,3]

    希望对你有帮助

    【讨论】:

    • 它给了我作为 arryaList 的结果,但是在查询数据库时,它不受支持如何使用 select * from tblQuotes where id in #[payload] 应该像 select * from tblQuotes where id in (1 ,2,3)
    • 我怎样才能做到同样的事情,这样我就不需要每次迭代都查询数据库了。
    • 可以使用dataweave的joinBy功能。像 .*id joinBy "," 一样,你会得到 1,2,3 的输出。然后将此有效载荷用作select * from tblQuotes where id in (#[payload])
    猜你喜欢
    • 1970-01-01
    • 2020-12-27
    • 2015-09-14
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 2022-07-11
    相关资源
    最近更新 更多