code: def _read_plain_json(file_path, check_bse):
      
  
      if not os.path.isfile(file_path):
          raise FileNotFoundError('JSON file \'{}\' does not exist, is not '
                                  'readable, or is not a file'.format(file_path))
  
      try:
          if file_path.endswith('.bz2'):
              with bz2.open(file_path, 'rt', encoding=_default_encoding) as f:
                  js = json.load(f)
          else:
              with open(file_path, 'r', encoding=_default_encoding) as f:
                  js = json.load(f)
  
      except json.decoder.JSONDecodeError as ex:
          raise RuntimeError("File {} contains JSON errors".format(file_path)) from ex
  
      if check_bse is True:
          # Check for molssi_bse_schema key
          if 'molssi_bse_schema' not in js:
              raise RuntimeError('File {} does not appear to be a BSE JSON file'.format(file_path))
  
      return js
docs: Reads a JSON file
  
      A simple wrapper around json.load that only takes the file name
      If the file does not exist, an exception is thrown.
  
      If the file does exist, but there is a problem with the JSON formatting,
      the filename is added to the exception information.
  
      If check_bse is True, this function also make sure the 'molssi_bse_schema' key
      exists in the file.
  
      Parameters
      ----------
      file_path : str
          Full path to the file to read
      check_bse: bool
          If True, check to make sure the bse schema information is included.
          If not found, an exception is raised