Drools 如何在DMN中访问FEEL list literal表达式中的list元素?
我有以下对象列表:Drools 如何在DMN中访问FEEL list literal表达式中的list元素?,drools,kie,dmn,feel-language,Drools,Kie,Dmn,Feel Language,我有以下对象列表: "animals":[ { "family":"cat", "color":"grey" }, { "family":"dog", "color":"white" } ] 我要访问第一个动物对象,该对象位于狗族和白色中。我正试图通过这样做来实现这一目标: animals[fami
"animals":[
{
"family":"cat",
"color":"grey"
},
{
"family":"dog",
"color":"white"
}
]
我要访问第一个动物
对象,该对象位于狗族和白色
中。我正试图通过这样做来实现这一目标:
animals[family = "dog" and color = "white"][0]
但它显示了如下警告:
FEEL WARN while evaluating literal expression 'animals[ family = .... [string clipped after 50 chars, total length is 82]': Index out of bound: list of 1 elements, index 0; will evaluate as FEEL null
这里到底有什么不正确的地方?我觉得我在语义上做错了什么。我也参考了FEEL的规格,但无法找出问题所在。我还参考了来自的dmn决策建模文档,但我仍然不清楚。请帮助。在FEEL中,列表的元素索引从1开始 因此,要访问第一个动物对象的表达式实际上是:
animals[family = "dog" and color = "white"][1]
这记录在第126页:
可以使用L[1]
访问列表的第一个元素L
,最后一个元素
可以使用L[-1]
访问元素
为了提供更友好的参考,这一点也记录在
可以通过索引访问列表中的元素,其中第一个元素
是1。负索引可以从结尾开始访问元素
列表中的元素,因此-1是最后一个元素
…并且对于产品化版本也同样适用: