DateWeaver日期字段转换不起作用-Mule

DateWeaver日期字段转换不起作用-Mule,mule,mule-studio,mule-component,mule-el,dataweave,Mule,Mule Studio,Mule Component,Mule El,Dataweave,在DataWeaver文档10.8中更改日期格式 在dataweaver预览中,它看起来与预期的响应一样好(更改了日期格式)。 我在文件组件中获取响应,但它没有以所提到的格式转换日期(也将记录器保留在dataWeaver之后,不是预期的响应) 回应如下 { "formatedDate1": "2003-10-01T23:57:59", "formatedDate2": "2015-07-06T08:53:15" } 我还有其他疑问,这里我们在编织机中硬编码日期。如果我们从输入参数获取日期字段

在DataWeaver文档10.8中<代码>更改日期格式

在dataweaver预览中,它看起来与预期的响应一样好(更改了日期格式)。 我在文件组件中获取响应,但它没有以所提到的格式转换日期(也将记录器保留在dataWeaver之后,不是预期的响应)

回应如下

{
"formatedDate1": "2003-10-01T23:57:59",
"formatedDate2": "2015-07-06T08:53:15"
 }
我还有其他疑问,这里我们在编织机中硬编码日期。如果我们从输入参数获取日期字段,我们是否需要将该字段包装在
|
中。下面的例子,它会工作吗

    %dw 1.0
    %output application/json
     %type mydate = :string { format: "YYYY/MM/dd" }
    ---
    {
     formatedDate1: |payload.dateField1| as :mydate,
     formatedDate2: payload.dateField1 as :mydate
    }
以上这些似乎对我不起作用。请告诉我正确的用法。 提前谢谢

 %dw 1.0
 %output application/json
 %type mydate = :string { format: "YYYY/M/d" }
 ---
{
formatedDate1: |2003-10-01T23:57:59| as :mydate,
formatedDate2: |2015-07-06T08:53:15| as :mydate
}
试试这个

试试这个:

%dw 1.0
%output application/json
%type mydate = :date { format: "yyyy/M/d" }
---
{
  formatedDate1: |2003-10-01T23:57:59| as :mydate,
  formatedDate2: |2015-07-06T08:53:15| as :mydate
}
输出:

{
  "formatedDate1": "2003-10-01",
  "formatedDate2": "2015-07-06"
}
区别在于数据类型从
:string
:date:

%type mydate = **:date** { format: "yyyy/M/d" }

结果似乎没有变为
/
。这可能是一个bug。

您已经尝试过了。只有在预览中才能看到正确的响应。但在文件输出中,dataweaver中打印的是响应。我是否需要更改DataWeaver的任何配置设置(但没有此类设置)。谢谢!!正确的应该是错误!!。你知道我的另一个问题吗。如何从inputField传递日期字段,而无需在转换中对其进行手工编码。希望你答对了我的问题。是的,我答对了。这也是一个限制,因为我在Dataweave中找不到任何解析器将文本formatDate1转换为:date。也许您可以尝试将JSON解组为pojo(JSON to Object,返回类包含两个日期字段)。然后将其作为输入添加到dataweave中,即添加到其元数据中。如果DataWeaver可以直接提供该功能,那就太好了。当然,您可以在Jira中创建错误报告并请求该功能。
%type mydate = **:date** { format: "yyyy/M/d" }