无法在dataweave中转换json数组

问题描述

我是 mule 新手,无法将这个嵌套数组转换为我需要的格式。我搜索了各种链接,但找不到与我的要求相关的太多帮助。 我正在附上我迄今为止尝试过的片段,但我无法弄清楚如何进一步进行。

代码

%dw 2.0
output application/json
var myvar={
    "name" : ["Shawn","James","Paul"],"sd" : ["2020-12-23","2020-12-24","2020-12-24"],"ed" : ["2020-12-25","2020-12-28","2020-12-27"]
}
---
myvar.name zip myvar.sd zip myvar.ed

所需输出

[
    {       
        'name': "shawn",'sd': "2020-12-23",'ed': "2020-12-25"      
    },{       
        'name': "james",'sd': "2020-12-24",'ed': "2020-12-28"      
    },{       
        'name': "Paul",'ed': "2020-12-27"      
    }   
]

实际输出

[
  [
    [
      "Shawn","2020-12-23"
    ],"2020-12-25"
  ],[
    [
      "James","2020-12-24"
    ],"2020-12-28"
  ],[
    [
      "Paul","2020-12-27"
  ]
]

任何形式的指导或提示或任何相关链接对我都非常有帮助。

解决方法

试试这个……不过有很多方法可以解决这个问题!!

%dw 2.0
output application/json
import * from dw::core::Arrays
var myvar={
    "a": ["Shawn","James","Paul"],"b": ["2020-12-23","2020-12-24","2020-12-24"],"c": ["2020-12-25","2020-12-28","2020-12-27"]
}
---
1 to 3 map 
{
    name: drop(myvar.a,($-1))[0],sd: drop(myvar.b,ed: drop(myvar.c,($-1))[0]
}