问题标签 [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.
csv - 移除默认分隔符 mule 转换器
我正在尝试将数据从 Salesforce 写入 CSV 文件。
我正在使用 Data Weave 转换器来转换数据,但默认情况下它采用“\”作为分隔符,并导致我的 CSV 中的所有问题。
我的变压器代码很简单
是否有任何选项可以禁用“\”作为分隔符?
json - 如何为 DataWeave 输入使用多个数据库有效负载
我目前在我的 Mule 项目中有一个工作Transform Message
(DataWeave )组件;它返回有效的 JSON。
我现在需要的是使用来自第二个(有时更多)数据库有效负载的附加信息来更新和添加到该转换。
我知道您可以在 dw 脚本中指定许多输入(参见DW 示例教程)。
[其中 in0、in1 和 in2 是实际输入名称]
我不确定如何将此方法应用于从数据库派生的多个有效负载。
我的目标是让我的基础 JSON 由第一个有效负载构建:
效果很好。
但现在我希望关键字数组由下一个有效负载填充,变为:
如何从多个输入映射 DataWeave 中的 JSON 输出?
细节:
- 骡 EE 版本:3.7.2
- Anypoint Studio 版本:5.3.0
mule - Null 节点的 Dataweave 错误
我在dataweava中完成了编码
但是在将输入分配为时给出错误
这里有什么建议吗?我已经尝试过default []
,但它不起作用。分配null node
其给出错误时。我试过过滤器filter ($ != '')
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
mule - 使用 DataWeave 将 CSV 转换为数组
我正在使用 Mule Requester 加载 CSV 文件。加载文件后,有效负载是一个字节数组,我将其存储在流变量mycsv
. 我不断收到异常。
这是我的 DataWeave 代码:
前一个流元素是 a choice
,所以我将其上的元数据设置为输出到具有正确名称的 FlowVar 并引用一个示例 CSV 文件,因此 DataWeave 的变量类型是List<Csv>
.
如何阅读 CSV?谢谢!
mule - 从 Mule 中的消息流中去除非法字符
我遇到了一个问题,即源系统中存在非法字符,当它遇到 DataWeave 转换器时会引发错误。我们已经修复了源系统中的数据,但是我们应该能够在 Mule 中去除这个非法字符。这是它击中 DataWeave 转换器时发生的错误。我需要有关如何以及在何处删除这些“非法”字符的帮助。
mule - 相当于 SQL 连接的 Dataweave
如何在 Dataweave 中执行相当于 SQL 连接的操作?我基本上是在执行查找。我在流变量中有 CSV 数据和 JSON 数据。我可以同时使用它们,但我不知道如何连接它们。假设 CSV 有两列:
JSON数据是:
最后,我想要一个List<Hashmap>
带有以下内容的(为方便起见,此处以 JSON 格式表示。)
csv - 忽略带引号的行或获取 DataWeave 将读取无效的 CSV
我正在尝试使用 Mule 的 DataWeave 组件来读取无效的 CSV 文件,或者至少不符合RFC 4180。问题是有些值包含引号,但该字段没有转义。例如,
有没有一种直接的方法可以稍微放松 DataWeave 使用的 CSV 解析器中的规则,以便它将不以双引号开头的值视为非转义值?或者,我可以(使用 DataWeave 或其他一些转换)忽略所有包含引号的文本行吗?它不到行的百分之一,而且这些行偶然与此集成无关,但我无法控制 CSV 生成。
编辑:这是一个例子:
CSV
数据编织
输出
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 时的输出:
这是一个例外:
json - 空变量赋值时的 DataWeave 最佳实践
这是一个 JSON-JSON 转换,将布尔输入("true"|"false")
转换为字符输出('Y'|'N')
。所以我们选择类似的东西:
但是如果 varInput 为空怎么办?我们有例外。我可以用另一个 when-otherwise 来控制它:
最后一个是空安全的,但我觉得应该有一种更优雅的方式。