code: def json_get(json_object, property_path, default=None):
      
      temp = json_object
      for field in property_path[:-1]:
          if not isinstance(temp, dict):
              return None
          temp = temp.get(field, {})
      if not isinstance(temp, dict):
          return None
      return temp.get(property_path[-1], default)
docs: get value of property_path from a json object, e.g. person.father.name
          * invalid path return None
          * valid path (the -1 on path is an object), use default