def json_path_value(jsondict,path): try: num=1 pahts = path.split(".") mydict={} for p in pahts: if num==1: mydict = jsondict[p+""] num=num+1 else: mydict = mydict[p+""] num=num+1 return mydict except Exception as e: logging.error("get value from path failure and the exception is "+str(e)) return None if __name__ == '__main__': pass fang={ "a":"a", "b":"b", "ha":{ "a1":"a1", "a2":"a2", "ha1":{ "h1":"h1", "ha2":{ "p3":"p3", "p2":"p2" }, } } } print(type(fang)) value = json_path_value(fang, "a") value1 = json_path_value(fang, "ha.ha1.ha2.p2") value2 = json_path_value(fang, "b") print("value is --:"+value) print("value1 is --:"+str(value1)) print("value2 is --:"+str(value2))