function isJson(x) {
  if (!isString(x) || !REGEX_JSON.test(x)) return false
  try {
    JSON.parse(x)
  } catch (e) { 
    return false
  }
  return true
}
Tests if a value is a parseable JSON string.
@param {*} x - value to test
@returns {boolean} boolean indicating if a value is a parseable JSON string
@example
isJson('{"a":5}') // returns true
isJson('[]') // returns true
isJson('{a":5}') // returns false