我有一個 python 函數(shù),我想檢查傳遞的 json 中是否存在某個字段。本質(zhì)上,如果該字段存在,我想拋出一個錯誤。我有一些有用的東西,但看起來不太好,所以我認為有一個更好的解決方案:def check_groups(names): json_names = json.loads(names) for i in json_names: try: #check to make sure no groups have been passed through if(i['groups']): print('in if') raise Exception() except TypeError: #this means there is no groups in the json so all is ok print('ok') except Exception: raise Exception('Do not pass through groups')正如你所看到的,這在邏輯上并不是很好,而且我顯然必須在 TypeError 之外添加一行代碼(在這種情況下,print('ok')我真的不想/不需要這樣做。本質(zhì)上,如果 json 有一個名為 的字段groups,我想拋出一個錯誤。如果沒有,請繼續(xù)。json 很簡單,下面是提供了不需要的字段后的示例:[{"field_1": ["$.id"], "groups": "ABC"}]
1 回答

慕田峪7331174
TA貢獻1828條經(jīng)驗 獲得超13個贊
嘗試類似的東西
def check_groups(names):
json_names = json.loads(names)
for i in json_names:
if 'groups' in i:
raise AttributeError('Do not pass through groups')
else:
print('ok')
您可以使用關(guān)鍵字輕松測試鍵是否在字典中in。
添加回答
舉報
0/150
提交
取消