עזרה בפירוק לגורמים של Json

היי,

קיבלתי API שאני אמור להוציא ממנו נתונים ל-DB.

דוגמה למבנה של ה-API:
Data =

{Game: {GameID: xxx, Commissions: {RevShare: 0.2, BonusCap: 0.5}, Type: Standard}

אז בשביל להוציא את ה-BonusCap אני מריץ
'Data.get(‘Game’).get(‘Commissions’).get('BonusCap)

אך רצה הגורל ויש שורות ב-API שאין להם את שדות Commissions או BonusCap
נגיד שורה כזו -
{Game: {GameID: xxx}, Type: Standard}

לכן בשורות ב-API שאין בהם את שדה Commissions וננסה לריץ DATA.get(‘Game’).get(‘Commissions’) נקבל None.

אבל כשהקוד מנסה להמשיך להריץ את שורת הקוד None.(‘BonusCap’)
ואז אני מקבל שגיאה והקוד נקרס.

יש למישהו רעיון איך אפשר להתמודד עם המצב הזה?

חשבתי ליצור decorator ל-get, שאם פונקציה get מקבלת None שיחזור None ולא שגיאה.
אבל לא מצאתי באינטרנט אם אפשר לשנות פונקציות bulid in ב-python.

ואז חשבתי על try except אבל אז אני צריך לעשות אותו מקונן פעמים - כי יכול להיות מצב ששדה Commissions קיים אבל שדה BonusCap לא קיים.

אשמח לעזרה!

הפעולה get מקבלת כפרמטר שני default value.
כלומר: אתה יכול להחליט מה בא לך להחזיר במקום None אם הערך לא נמצא.
במקרה שלך, הייתי בוחר להחזיר מילון. ואז .get עליו יחזיר None.

אם מדובר בכמה פונקציות שמתנהגות זהה ומשתמשות אחת בשנייה,
ואתה רוצה שההתנהגות תהיה קונסיסטנטית בין ממשקים,
הייתי תמיד משאיר מילון בפרמטר השני:

kukuyama.get('platner', {}).get('!!!', {})
לייק 1