问题标签 [dataweave]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1872 浏览

csv - 移除默认分隔符 mule 转换器

我正在尝试将数据从 Salesforce 写入 CSV 文件。

我正在使用 Data Weave 转换器来转换数据,但默认情况下它采用“\”作为分隔符,并导致我的 CSV 中的所有问题。

CSV 问题

我的变压器代码很简单

是否有任何选项可以禁用“\”作为分隔符?

0 投票
1 回答
1375 浏览

json - 如何为 DataWeave 输入使用多个数据库有效负载

我目前在我的 Mule 项目中有一个工作Transform MessageDataWeave )组件;它返回有效的 JSON。

我现在需要的是使用来自第二个(有时更多)数据库有效负载的附加信息来更新和添加到该转换。

我知道您可以在 dw 脚本中指定许多输入(参见DW 示例教程)。

[其中 in0、in1 和 in2 是实际输入名称]

我不确定如何将此方法应用于从数据库派生的多个有效负载。

我的目标是让我的基础 JSON 由第一个有效负载构建:

效果很好。

但现在我希望关键字数组由下一个有效负载填充,变为:

如何从多个输入映射 DataWeave 中的 JSON 输出?


细节:

  • 骡 EE 版本:3.7.2
  • Anypoint Studio 版本:5.3.0

0 投票
4 回答
6142 浏览

mule - Null 节点的 Dataweave 错误

我在dataweava中完成了编码

但是在将输入分配为时给出错误

这里有什么建议吗?我已经尝试过default [],但它不起作用。分配null node其给出错误时。我试过过滤器filter ($ != '')

0 投票
2 回答
2429 浏览

mule - How to refer payload which is a ResultSet Iterator in mule dataweave?

Sql query returns a streamed output as Resultset iterator object from the Database component. i want to convert this to xml in dataweave. But don't know how to refer the incoming object, If it's a map i can access it simply by using .operator like payload.student

Tried using payload.next() but it gives an error. Also tried the following, %var input1 payload as :iterator but still wont' work

0 投票
2 回答
2674 浏览

mule - 使用 DataWeave 将 CSV 转换为数组

我正在使用 Mule Requester 加载 CSV 文件。加载文件后,有效负载是一个字节数组,我将其存储在流变量mycsv. 我不断收到异常。

这是我的 DataWeave 代码:

前一个流元素是 a choice,所以我将其上的元数据设置为输出到具有正确名称的 FlowVar 并引用一个示例 CSV 文件,因此 DataWeave 的变量类型是List<Csv>.

如何阅读 CSV?谢谢!

0 投票
2 回答
763 浏览

mule - 从 Mule 中的消息流中去除非法字符

我遇到了一个问题,即源系统中存在非法字符,当它遇到 DataWeave 转换器时会引发错误。我们已经修复了源系统中的数据,但是我们应该能够在 Mule 中去除这个非法字符。这是它击中 DataWeave 转换器时发生的错误。我需要有关如何以及在何处删除这些“非法”字符的帮助。

0 投票
2 回答
2466 浏览

mule - 相当于 SQL 连接的 Dataweave

如何在 Dataweave 中执行相当于 SQL 连接的操作?我基本上是在执行查找。我在流变量中有 CSV 数据和 JSON 数据。我可以同时使用它们,但我不知道如何连接它们。假设 CSV 有两列:

JSON数据是:

最后,我想要一个List<Hashmap>带有以下内容的(为方便起见,此处以 JSON 格式表示。)

0 投票
1 回答
826 浏览

csv - 忽略带引号的行或获取 DataWeave 将读取无效的 CSV

我正在尝试使用 Mule 的 DataWeave 组件来读取无效的 CSV 文件,或者至少不符合RFC 4180。问题是有些值包含引号,但该字段没有转义。例如,

有没有一种直接的方法可以稍微放松 DataWeave 使用的 CSV 解析器中的规则,以便它将不以双引号开头的值视为非转义值?或者,我可以(使用 DataWeave 或其他一些转换)忽略所有包含引号的文本行吗?它不到行的百分之一,而且这些行偶然与此集成无关,但我无法控制 CSV 生成。

编辑:这是一个例子:

CSV

数据编织

输出

0 投票
0 回答
774 浏览

csv - 将 PipedInputStream 返回到 DataWeave 的 Mule 可调用对象

我试图找到一个解决方法来解决我在之前的问题中描述的问题,其中 DataWeave 没有读取不符合RFC 4180的 CSV 文件。我决定编写一个 Java 类来实现org.mule.api.lifecycle.Callable读取InputStream我所拥有的(可能来自文件或 HTTP 响应),删除无法处理的行(我知道这里的实现太多了),并将可读行通过管道传输到新流中。不幸的是,我不断从 DataWeave 得到一个 0 字节的输出和一个异常。

编辑:为了澄清,这个问题可能独立于另一个问题而存在,但我以前想知道如何做这样的事情。碰巧我正试图解决这个问题,作为另一个问题的变通解决方案。

这是我的 CSV 文件:

这是我的流程:

这是Java文件:

根据这个答案,我应该能够返回一个InputStream,这PipedInputStream是一个。如果我注释掉流引用或 DataWeave,我会得到输出——分别是带有废话的 JSON(因为当不遵循 RFC 时 DataWeave CSV 解析器的行为很奇怪)或删除了行的 CSV。也就是说,Java 类或 DataWeave 组件独立工作,但不能一起工作。

这是从流程中省略 Java 类时的输出:

这是省略 DataWeave 时的输出:

这是一个例外:

0 投票
1 回答
1858 浏览

json - 空变量赋值时的 DataWeave 最佳实践

这是一个 JSON-JSON 转换,将布尔输入("true"|"false")转换为字符输出('Y'|'N')。所以我们选择类似的东西:

但是如果 varInput 为空怎么办?我们有例外。我可以用另一个 when-otherwise 来控制它:

最后一个是空安全的,但我觉得应该有一种更优雅的方式。