我正在嘗試編寫規則,但遇到了問題。我設法從中提取以下內容作為我的輸入:myData:= [{"Key": "use", "Value": "1"}, {"Key": "use", "Value": "2"}, {"Key": "att1", "Value": "3"}]我正在嘗試計算具有值 use 的鍵出現的次數。但是,當我這樣做時: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檢查是否列出了更多。
1 回答

弒天下
TA貢獻1818條經驗 獲得超8個贊
在您對 的集合理解中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 := ... ]
如果這不是您想要的,您可以使用數組理解 ( )。
- 1 回答
- 0 關注
- 128 瀏覽
添加回答
舉報
0/150
提交
取消