我正在嘗試撰寫規則,但遇到了問題。我設法從中提取以下內容作為我的輸入:
myData:= [{"Key": "use", "Value": "1"}, {"Key": "use", "Value": "2"}, {"Key": "att1", "Value": "3"}]
我正在嘗試計算具有使用值的鍵出現的次數。但是,當我這樣做時:
p := {keep| keep:= myData[_]; myData.Key == "use"}
我假設這會創建一個我想保留的所有串列,但操場錯誤:
1 error occurred: policy.rego:24: rego_type_error: undefined ref: data.play.myData.Key
data.play.myData.Key
我希望我可以列出它們p,然后count(p) > 1檢查是否列出了更多。
uj5u.com熱心網友回復:
在您對 的集合理解中p,您正在迭代 中的物件myData,將每個元素分配給keep。然后,您在 上斷言某些內容myData.Key。我想你要找的是
p := {keep| keep := myData[_]; keep.Key == "use"}
請注意,這是一個集合理解,因此p這兩個輸入是相同的:
myData:= [{"Key": "use", "Value": "1"}]
myData:= [{"Key": "use", "Value": "1"}, {"Key": "use", "Value": "1"}]
p := [ keep | keep := ... ]如果這不是您想要的,您可以使用陣列推導式 ( )。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/373105.html
上一篇:批量單行的回圈功能?
