DMN嵌套对象过滤时字面量表达式返回null问题咨询
问题根因
- 数据类型不匹配
你过滤条件中写的62500是数值类型,但实际数据结构里valuation.value是被双引号包裹的字符串类型"62500",不同类型的相等判断会直接返回false,因此没有匹配到符合条件的条目,返回null。 - 数组访问路径错误
你提供的PurchaseOrders本身是数组结构,不能直接通过PurchaseOrders.pledgedDocuments访问子属性,需要先定位到数组内的具体元素。DMN标准FEEL表达式的数组索引从1开始,如果要取第一个订单的质押文档列表,正确的前置路径是PurchaseOrders[1].pledgedDocuments。 - 异常筛选结果的原因
当你使用PurchaseOrders.pledgedDocuments[valuation = null]时,错误的路径访问已经导致valuation属性读取结果为null,因此所有条目都会命中valuation = null的判断,最终返回全部结果。
修正后的表达式示例
如果使用标准FEEL语法,筛选第一个订单下估值为62500的质押文档,正确写法如下:PurchaseOrders[1].pledgedDocuments[valuation.value = "62500"]
内容的提问来源于stack exchange,提问作者user1428716
相关产品推荐
相关产品推荐

