code: function toObjectArrayOrUndefined(n) {
      if (n === null || n === undefined) { return undefined; }
  
      if (!validation.isArray(n)) {
          try {
              n = JSON.parse(n);
  
              if (!validation.isArray(n)) { return undefined; }
          }
          catch (e) {
              return undefined;
          }
      }
  
      const m = n.map(item => {
          if (!validation.isObject(item)) {
              try {
                  item = JSON.parse(item);
              }
              catch (e) {
                  return undefined;
              }
          }
          return (validation.isObject(item) && item !== null) ? item : undefined;
      }).filter(e => e !== undefined);
  
      return m.length > 0 ? m : undefined;
  }
docs: Receives anything and tries to convert into an array of objects. If it is not possible
  (null, undefined, not an array), returns undefined. If the content of the array cannot be
  converted into an object, the item gets ignored. Empty arrays also get converted into undefined.
  
  @param {*} n
  @returns {[{}]|undefined}