簡體   English   中英

Mule Dataweave:無法將:string強制轉換為:localdatetime

[英]Mule Dataweave: Cannot coerce a :string to a :localdatetime

嘗試轉換為日期時間時遇到此錯誤的人:

Exception while executing: 
 utcTime: (payload as :localdatetime {format: "yyyy-MM-dd'T'HH:mm:ssZ" } >> "UTC")    
              ^
 Cannot coerce a :string to a :localdatetime, caused by :Text '2018-09-25T13:09:16.258Z' could not be parsed at index 19.

以下是我的代碼:

     <flow name="testFlow">
         <http:listener config-ref="HTTP_Listener_Configuration" path="/datetime" doc:name="HTTP"/>
         <set-payload value="#[server.dateTime.format(&quot;yyyy-MM-dd'T'HH:mm:ss.SSS'Z'&quot;)]" doc:name="Set Payload"/>
         <dw:transform-message doc:name="Transform Message">
             <dw:set-payload><![CDATA[%dw 1.0
 %output application/json
 ---
 {
 utcTime: (payload as :localdatetime {format: "yyyy-MM-dd'T'HH:mm:ssZ" } >> "UTC")    
 }

 ]]></dw:set-payload>
         </dw:transform-message>
         <logger message="#[payload]" level="INFO" doc:name="Logger"/>
     </flow>

您的原始格式與您嘗試轉換的格式不同(缺少毫秒):

yyyy-MM-dd'T'HH:mm:ss.SSSZyyyy-MM-dd'T'HH:mm:ssZ

設置有效負載時,請輸入文字字符“ Z”(yyyy-MM-dd'T'HH:mm:ss.SSS'Z')。 因此,您可以將文字轉換回去:

(payload as :localdatetime{format: "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"} as :string {format: "yyyy-MM-dd'T'HH:mm:ss"} >> "UTC")

或者,您可以考慮時區:

<flow name="testFlow">
    <http:listener config-ref="HTTP_Listener_Configuration" path="/datetime" doc:name="HTTP"/>
    <set-payload value="#[server.dateTime.format(&quot;yyyy-MM-dd'T'HH:mm:ss.SSSZ&quot;)]" doc:name="Set Payload"/>
    <dw:transform-message doc:name="Transform Message">
        <dw:set-payload><![CDATA[%dw 1.0
%output application/json
---
{
    utcTime: (payload as :localdatetime {format: "yyyy-MM-dd'T'HH:mm:ss.SSSZ" } as :string {format: "yyyy-MM-dd'T'HH:mm:ss"} >> "UTC")    
}

]]></dw:set-payload>
    </dw:transform-message>
    <logger message="#[payload]" level="INFO" doc:name="Logger"/>
</flow>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM