m子4中的错误“您无法比较类型为:Null的值”

问题描述 投票:-3回答:1

我正在尝试从json数据中找到日期的最大值。但是我遇到错误

Message        : "You cannot compare a value of type :Null
Trace:
 at reduce (Unknown)
 at dw::Core::maxBy (line: 5535, column: 3)
 at main (line: 1, column: 248)" evaluating expression: 
 "%dw 2.0 output application/json ---  {  Value2:  (  if (vars.data.Value1 as String != "")   
 (payload maxBy((item) -> item.startDate)).startDate default vars.data.Value1   
 else   ""  ), RCount: sizeOf(payload) }".
Error type      : MULE:EXPRESSION
Element        : executeInterface/processors/8 @ gg:gg.xml:121 (interface)
Element XML      : <set-variable value="#[%dw 2.0 output application/json ---
 {  Value2:  (  if (vars.data.Value1 as String != "")   
 (payload maxBy((item) -> item.startDate)).startDate default vars.data.Value1   
 else   ""  ), RCount: sizeOf(payload) }]" doc:name="interface" doc:id="2c140185-2fc5-4e11-9b78-96fc2ddcfa2f" variableName="interface"></set-variable>
 (set debug level logging or '-Dmule.verbose.exceptions=true' for everything).

写入设置变量组件的逻辑是

%dw 2.0
output application/json
---
{
Value2:   
(  if (vars.data.Value1 as String != "")   
(payload maxBy((item) -> item.startDate)).startDate default vars.data.Value1   
 else   ""  
 ),
RCount: sizeOf(payload)
}

在调试模式下运行时,发现问题出在maxby语句中。

请提出建议。如何解决此问题

mule-component anypoint-studio mulesoft mule4
1个回答
0
投票
错误表示尝试进行比较时,某些内容为空。考虑到您提到的错误是在maxBy()处,则属性startDate可能为null或在元素之一中不存在。您还应该显示转换的值,以便我们进行确认。
© www.soinside.com 2019 - 2024. All rights reserved.