使用dataweave以Json格式输出

时间:2016-11-14 06:50:29

标签: json dataweave

我正在尝试将字段值映射从CSV转换为Json格式,下面的代码是我的数据编码代码,用于映射CSV中的字段并将其转换为Json格式:

%dw 1.0    
%output application/json    
---    
{

"volume":
[       
    payload groupBy $.StartDate map ((val,cal) ->
    {
        StartDate:val.StartDate[0],

        rows :
        [
            {
                AccountID : val.AccountID,
                ProductID : val.ProductID,
                Value : val.Value
            }
        ]
    }
    )
]    
}

我得到如下输出: -

{

"volume": [
[
  {
    "StartDate": "8/1/2016",
    "AccountID": [
      "16482965",
      "16482966"
    ],
    "ProductID": [
      "12235398476-AR02",
      "12235398477-AR03"
    ],
    "Value": [
      "1720",
      "1722"
    ]
  },
  .
  .
  .

但我希望我的输出如下所示:

  {

"volume": [
[
  {
    "StartDate": "8/1/2016",
    "AccountID":"16482965","ProductID":"12235398476-AR02","Value":"1720",
    "AccountID":"16482966","ProductID":"12235398477-AR03","Value": "1722"
   },
     .
     .
     .

有人可以在这儿吗?

2 个答案:

答案 0 :(得分:0)

根据您对我的问题的回答,这是您需要构建的JSON结构:

{
    "volume": [
                {
                    "StartDate": "8/1/2016",
                    "Entries": [
                                {"AccountID":"16482965","ProductID":"12235398476-AR02","Value":"1720"},
                                {"AccountID":"16482966","ProductID":"12235398477-AR03","Value":"1722"}
                               ]
                },
                ...
              ]
     .
     .
     .
}

请注意在结构中添加"Entries"元素。它允许您使用以下引用来运行数组:

...volume[n].Entries[j].AccountID

希望这能让你更清楚。

<强>更新: 我错过了收盘]。现在添加。

答案 1 :(得分:0)

我使用了以下代码,请您确认

AVFoundationQueuePlayer