没有名为 'substring' 的变量

There is no variable named 'substring'

我想把时间“2017-08-22T17:10:12Z”改成“20170822”。

所以我使用了这个子字符串函数,但它不断抛出错误。

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

变量声明有语法错误。同样在 dataweave 中,子字符串也不像前面提到的那样工作。请参考以下代码

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

希望对您有所帮助。

Dataweave 中没有名为 substring 的函数,而是使用下面给出的方法。

%dw 0.1

%输出application/xml

宝:{ var:payload.po.ordered_date, 日期:子串(2..3) }

或者您可以在全局 xml 配置文件中定义一个 Java 函数子字符串,然后按照上面给出的方式使用它。

我使用 Groovy 脚本来检索子字符串。像下面这样尝试。

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

以上会给你AB。

您可以在 Mule 流

中以 flowVars['subStringedString'] 的形式访问此子字符串

Dataweave 中没有子字符串运算符,您执行此操作的方式类似于 var[1..3],您希望从第二个位置开始获取 4 个字符。应该是下面几行

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