code: def _get_dependencies_from_json(ireq, sources):
      
      if os.environ.get("PASSA_IGNORE_JSON_API"):
          return
  
      # It is technically possible to parse extras out of the JSON API's
      # requirement format, but it is such a chore let's just use the simple API.
      if ireq.extras:
          return
  
      try:
          version = get_pinned_version(ireq)
      except ValueError:
          return
  
      url_prefixes = [
          proc_url[:-7]   # Strip "/simple".
          for proc_url in (
              raw_url.rstrip("/")
              for raw_url in (source.get("url", "") for source in sources)
          )
          if proc_url.endswith("/simple")
      ]
  
      session = requests.session()
  
      for prefix in url_prefixes:
          url = "{prefix}/pypi/{name}/{version}/json".format(
              prefix=prefix,
              name=packaging.utils.canonicalize_name(ireq.name),
              version=version,
          )
          try:
              dependencies = _get_dependencies_from_json_url(url, session)
              if dependencies is not None:
                  return dependencies
          except Exception as e:
              print("unable to read dependencies via {0} ({1})".format(url, e))
      session.close()
      return
docs: Retrieves dependencies for the install requirement from the JSON API.
  
      :param ireq: A single InstallRequirement
      :type ireq: :class:`~pip._internal.req.req_install.InstallRequirement`
      :return: A set of dependency lines for generating new InstallRequirements.
      :rtype: set(str) or None