This question already has answers here:
Check nested dictionary values?
                                
                                    (3个答案)
                                
                        
                                2年前关闭。
            
                    
我目前正在做这样的事情来访问我的json对象中的数组

teacher_topical_array = teacher_obj["medication"]["topical"]


但是,在此之前,我想确保路径teacher_obj["medication"]["topical"]存在,并且我正在寻找一种更简单的方法来完成此操作。

现在我知道我可以做这样的事情

if "medication" in teacher_obj:
    if "topical" in teacher_obj["medication"]:
             #yes the key exists


我想知道我是否可以通过其他方式完成上述任务。如果我必须检查类似的东西,那可能会更有效

teacher_obj["medication"]["topical"]["anotherkey"]["someOtherKey"]

最佳答案

LYBL方法:链接get调用,如果您不想使用try-except大括号...

teacher_topical_array = teacher_obj.get("medication", {}).get("topical", None)




EAFP方法:使用try-except块并捕获KeyError

try:
    teacher_topical_array = teacher_obj["medication"]["topical"]
except KeyError:
    teacher_topical_array = []

关于python - 检查json对象中的路径是否存在? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45472960/

10-14 05:47