首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >嵌套型CSV - Mule DataWeave

嵌套型CSV - Mule DataWeave
EN

Stack Overflow用户
提问于 2016-07-29 14:37:16
回答 2查看 293关注 0票数 0

我有一个这样的CSV:

代码语言:javascript
复制
data1,data2,data3;dataa;datab;datac;datax,datay,dataz
data1,data2,data3;dataa;datab;datac;datax,datay,dataz
data1,data2,data3;dataa;datab;datac;datax,datay,dataz

我使用spliter逐行处理记录,进一步使用dataweave中的splitBy ",“将记录转换为映射。但是我如何才能为";“做另一个层次的拆分呢?SplitBy不允许使用多个分隔符,所以dataweave中的CSV类型也不允许。

最终,我想要一个这样的JSON:

代码语言:javascript
复制
{
   "1":"data1",
   "2":"data2",
   "3":{
      "a":"dataa",
      "b":"datab",
      "c":"datac"
   },
   "x":"datax",
   "y":"datay",
   "z":"dataz "
}

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2016-07-29 15:19:49

尝试以下DataWeave代码:

代码语言:javascript
复制
%dw 1.0
%output application/json
---
payload map {
    "1": $[0],
    "2": $[1],
    "3": using (detail = $[2] splitBy ";") {
        a: detail[1],
        b: detail[2],
        c: detail[3]
    },
    x: $[3],
    y: $[4],
    z: $[5]
}

备注:

  • 我修改了输入数据以分离datacdatax。将;字符替换为,,例如:...;datab;datac,datax,...
  • I使用文件连接器读取CSV文件,并在DataWeave transformer (不使用拆分器)

中直接处理它

票数 3
EN

Stack Overflow用户

发布于 2016-07-29 15:17:26

我想说的是,您的JSON示例的结构很糟糕!在这个JSON中,第四个元素是一个对象,它没有键,只有值……首先,你应该验证你的end JSON。有效JSON示例:

当您验证JSON时,我将尝试帮助您将CSV数据转换为JSON。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38652040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档