jsonA =
[ {'id': 'xxx1', 'serial': 'BPCE-RNHC-25G8', 'model': 'AlertTrace', 'subject': 'EMP004'},
{'id': 'xxx2', 'serial': 'XX-WWW-2XSFC', 'model': 'AlertTrace', 'subject': 'EMP005'},
{'id': 'xxx3', 'serial': 'VVV-ASD-CDSG', 'model': 'AlertTrace', 'subject': ''} ]
我有 3 個 json 資料,我想檢索subject不為空的資料。接下來,我應該能夠過濾只有兩個鍵的結果,它們是serial和subject。
預期輸出:
jsonA =
[ {'serial': 'BPCE-RNHC-25G8', 'subject': 'EMP004'},
{'serial': 'XX-WWW-2XSFC', 'subject': 'EMP005'} ]
我嘗試使用此代碼:(但輸出僅顯示主題。我需要串行和主題的兩個值)
Filter = [{'serial': dct['serial']} and {'subject': dct['subject']} for dct in jsonA if (dct['subject']) != None]
uj5u.com熱心網友回復:
您可以嘗試使用以下示例代碼:
a_dict = {'color': 'blue', 'fruit': 'apple', 'pet': 'dog'}
for key, value in a_dict.items():
print(key, '->', value)
在您的代碼中,您可以嘗試以下操作:
for key, value in jsonA.items():
if value != None:
回傳鍵
但我不完全確定:)
uj5u.com熱心網友回復:
做就是了:
res = [{'serial': dct['serial'], 'subject': dct['subject']} for dct in jsonA if dct['subject']]
print(res)
輸出
[{'serial': 'BPCE-RNHC-25G8', 'subject': 'EMP004'}, {'serial': 'XX-WWW-2XSFC', 'subject': 'EMP005'}]
在 Python 中,and的真值是,因此您可以直接在條件中使用。有關創建字典,請參閱檔案。None""Falsedct['subject']
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/335506.html
下一篇:更新JSON字串中的值
