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

  Object.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 {*} deepObject - Deep object
@param {*} objectKey - key associated with deep object
@returns {Array} array of param key-value pairs