class_docstr: JSON record parser
class_docstr_tok: ["JSON","record","parser"]
docstr: Extract records from the original json payload using the JSON configuration
  
  Args:
      json_payload (dict): The parsed json data
  
  Returns:
      list: A list of JSON records extracted via JSON path or regex
docstr_tok: ["Extract","records","from","the","original","json","payload","using","the","JSON","configuration","Args",":","json_payload","(","dict",")",":","The","parsed","json","data","Returns",":","list",":","A","list","of","JSON","records","extracted","via","JSON","path","or","regex"]
code: def _extract_via_json_regex_key(self, json_payload):
      """Extract records from the original json payload using the JSON configuration
  
      Args:
          json_payload (dict): The parsed json data
  
      Returns:
          list: A list of JSON records extracted via JSON path or regex
      """
      # Handle nested json object regex matching
      if not json_payload.get(self.json_regex_key):
          return False
  
      LOGGER.debug("Parsing records with JSON Regex Key")
      match = self._regex.search(str(json_payload[self.json_regex_key]))
      if not match:
          return False
  
      match_str = match.groups("json_blob")[0]
      try:
          record = json.loads(match_str)
          if not isinstance(record, dict):
              # purposely raising here to be caught below & handled
              raise TypeError("record data is not a dictionary")
      except (ValueError, TypeError) as err:
          LOGGER.debug(
              "Matched regex string is invalid (%s): %s",
              str(err),
              match_str,
          )
          return False
  
      return [(record, True)]
  
imports: from abc import ABCMeta, abstractmethod
  from copy import deepcopy
  import csv
  from fnmatch import fnmatch
  import json
  import logging
  import re
  import io
  import jmespath
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 4 for calling the JSONParser obj's underlying member method code with example usage: obj._extract_via_json_regex_key(json_payload) and returns: list, False, False, False