我必须在我的代码中实现小逻辑 - 这里我得到一个XML请求,它必须转换为JSON。在转换之前,我必须实现小逻辑,我的输入XML是:
<details>
<mydetail>
<Firstdate>2017</Firstdate>
<futuredate>1</futuredate>
</mydetail>
<mydetail>
<Firstdate>2017</Firstdate>
<futuredate>2</futuredate>
</mydetail>
<mydetail>
<Firstdate>2017</Firstdate>
<futuredate>3</futuredate>
</mydetail>
</details>
我的预期JSON是:
[
{
"Currentdate": "2017",
"Nextdate: null
},
{
"Currentdate": "2017",
"Nextdate "1"
},
{
"Currentdate": "2017",
"Nextdate "2"
}
]
逻辑:
作为回应,如果它是JSON中的第一个Nextdate
,则它始终为null
,否则Nextdate
将映射到futuredate
的上一个值。
我在下面写了数据编织脚本,但它无效。
payload.details.*mydetail map {
Currentdate: $.Firstdate,
Nextdate: null when $$==0 otherwise $.Seconddate [$$-1] ,
}
但是这个剧本不起作用,我没有得到预期的结果 造成这种错误的原因是什么?
答案 0 :(得分:1)
使用以下脚本获取所需的输出
%dw 1.0
%output application/json
---
payload.details.*mydetail map {
Currentdate: $.Firstdate,
Nextdate: null when $$ == 0 otherwise payload.details.*mydetail.futuredate[$$ - 1]
}
您的脚本在映射,
时会产生额外的Nextdate
,这会导致错误。