【问题标题】:Transform string array to csv mulesoft 4.1.2将字符串数组转换为 csv mulesoft 4.1.2
【发布时间】:2018-08-31 08:29:31
【问题描述】:

我有字符串数组,想在 mule 4.1.2 中将其转换为 csv 输出。示例输入有效负载如下 -

[ "{\n "id": 123,\n "name": "ABC",\n "communication": "email"\n}", "{\n "id": 123,\n "姓名": "ABC",\n "通讯": "论文"\n}" ]

我需要带有列的 csv 输出

MemberId 人名 通讯 123 ABC 电子邮件

【问题讨论】:

  • 您能否编辑您的问题以使字符串格式正确?看起来您的报价没有正确转义。如果我尝试自己编辑,我只会随机尝试。
  • 以下更正了 - [ "{\n \"id\": \"123\",\n \"name\": \"ABC\",\n \"communication\ ": \"email\"\n}", "{\n \"id\": \"123\",\n \"姓名\": \"ABC\",\n \"通讯\": \"纸\"\n}" ]

标签: mule dataweave


【解决方案1】:

使用 DataWeave 相当简单

%dw 2.0
output application/csv headerLineNumber = 0 , header = true
---
payload map ( payload01 , indexOfPayload01 ) -> {
    MemberId: payload01.id as String,
    "Person Name": payload01.name,
    Communication: payload01.communication
}

【讨论】:

  • 尝试过但出现错误 - 消息:“您使用以下参数调用了函数‘值选择器’:1:二进制 ("{\n \"id\": 123,\n \"name \": \"ABC\",\n \"communication\": \...) 2: Name ("id") 但它需要以下组合之一: (Array, Name) (Array, String) (Date , Name) (DateTime, Name) (LocalDateTime, Name) (LocalTime, Name) (Object, Name) (Object, String) (Period, Name) (Time, Name) 5| MemberId : payload01.id, ^^^^^^^^^^^^ Trace: at main (line: 5, column: 16)" 评估表达式:"%dw 2.0
  • 您需要正确格式化该输入。该输入来自哪里?目前它是 JSON 格式的字符串列表,而不是正确的 JSON 数组。
  • 我将它作为批处理聚合器组件中的字符串列表。
猜你喜欢
  • 2013-05-05
  • 1970-01-01
  • 2013-04-27
  • 2023-03-18
  • 2019-06-14
  • 1970-01-01
  • 2023-01-10
  • 2018-03-29
  • 1970-01-01
相关资源
最近更新 更多