json - 使用 Mule 中的 Dataweave 将定界文件转换为 JSON 格式

我需要在 mule 中使用 dataweave 将现有的分隔 rune 件转换为 json 格式。

示例输入:

Name~#~ID~#~Company~#~Address
SRI~#~1~#~Infy~#~Bangalore
Rahul~#~2~#IBM~#~US
John~#~3~#~SF~#~UK

样本输出

{
Name: Sri
ID: 1
Company: Infy
Adress: Bangalore
},
{
Name: Rahul
ID: 2
Company: IBM
Adress: US

},
{
Name: John
ID: 3
Company: SF
Adress: UK
}

但是我的输出低于输出

数据编织转换

最佳答案

非常有趣的问题,您可以使用 dw::core::Binaries 中的 readLines 函数,然后按 ~#~ 拆分。请记住将您的负载设置为 application/octet-stream mimeType,这样 dw 会将其作为二进制数据处理,稍后您可以使用此代码段来解析它。

%dw 2.0
output application/json
import dw::core::Binaries
var lines = Binaries::readLinesWith(payload, "UTF-8")


---
lines match {
    case [x ~ xs] -> do {
        var header = x splitBy  "~#~"
        ---
        xs map ((item, index) -> {
              (item splitBy "~#~" map (column, index) -> {
                  (header[index]): column
              } )
        })
    }
}

https://stackoverflow.com/questions/64348854/

相关文章:

C - 如何通过函数增加指向字符串的指针?

arrays - 如何使用 Perl 剪切数组中字符串的第二列

java - 无效的正则表达式 : Dangling meta character "*"

php - 如何使用 symfony 5 摆脱国际弃用消息

java - cf 推送失败 Java 版本不匹配

python - 使用 Python 从 oddsportal.com 抓取数据

ios - 禁用长按返回按钮(标注菜单)

delphi - 如何在 delphi 7 中使用 setlocaltime?

android - 如何解决 android.content.res.Resources$NotFo

arrays - 为什么在初始化指针时必须将数组转换为 type[]?