没有名为' substring'的变量。

时间:2018-01-22 10:30:59

标签: mule dataweave

我想改变时间" 2017-08-22T17:10:12Z"进入" 20170822"。

所以我使用了这个子串函数,但它连续抛出错误。

%dw 0.1
%output application/xml
---
po: {
    var:payload.po.ordered_date,
    Date: substring(var,2,3)
}

3 个答案:

答案 0 :(得分:0)

变量声明有语法错误。同样在dataweave子字符串不起作用如上所述。请参考以下代码

%dw 0.1
%output application/xml
%var variable = payload.po.ordered_date
---
po: { 
    Date: variable as :localdatetime as :string {format:"yyyyMMdd"}
}

希望这有帮助。

答案 1 :(得分:0)

我使用Groovy Script来检索子字符串。试试如下。

def testString = 'ABC';
flowVars['subStringedString']=  flowVars.testString.substring(0,2);

以上将给你AB。

您可以在Mule流程中将此子字符串作为flowVars['subStringedString']进行访问

答案 2 :(得分:0)

Dataweave中没有子字符串运算符,你这样做的方式就像var [1..3]你想从第二个位置得到4个字符。应该在下面的行上

%dw 0.1
%output application/xml
---
po: {
    var:payload.po.ordered_date,
    Date: var[1..3]
}