code: def json_dict_copy(json_object, property_list, defaultValue=None):
      
      ret = {}
      for prop in property_list:
          p_name = prop["name"]
          for alias in prop.get("alternateName", []):
              if json_object.get(alias) is not None:
                  ret[p_name] = json_object.get(alias)
                  break
          if not p_name in ret:
              if p_name in json_object:
                  ret[p_name] = json_object[p_name]
              elif defaultValue is not None:
                  ret[p_name] = defaultValue
  
      return ret
docs: property_list = [
              { "name":"name", "alternateName": ["name","title"]},
              { "name":"birthDate", "alternateName": ["dob","dateOfBirth"] },
              { "name":"description" }
          ]