extractDeepObjectParams = (deepObject, objectKey) => {
    let extractedParams = [];

    _.keys(deepObject).forEach((key) => {
      let value = deepObject[key];
      if (value && typeof value === 'object') {
        extractedParams = _.concat(extractedParams, extractDeepObjectParams(value, objectKey + '[' + key + ']'));
      }
      else {
        extractedParams.push({ key: objectKey + '[' + key + ']', value });
      }
    });
    return extractedParams;
  }
Recursively extracts key-value pair from deep objects.

@param {Object} deepObject - Deep object
@param {String} objectKey - key associated with deep object
@returns {Array} array of param key-value pairs