code: def get_dependencies_from_json(ireq):
      
  
      if ireq.editable or not is_pinned_requirement(ireq):
          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
  
      session = requests.session()
      atexit.register(session.close)
      version = str(ireq.req.specifier).lstrip("=")
  
      def gen(ireq):
          info = None
          try:
              info = session.get(
                  "https://pypi.org/pypi/{0}/{1}/json".format(ireq.req.name, version)
              ).json()["info"]
          finally:
              session.close()
          requires_dist = info.get("requires_dist", info.get("requires"))
          if not requires_dist:   # The API can return None for this.
              return
          for requires in requires_dist:
              i = pip_shims.shims.InstallRequirement.from_line(requires)
              # See above, we don't handle requirements with extras.
              if not _marker_contains_extra(i):
                  yield format_requirement(i)
  
      if ireq not in DEPENDENCY_CACHE:
          try:
              reqs = DEPENDENCY_CACHE[ireq] = list(gen(ireq))
          except JSONDecodeError:
              return
          req_iter = iter(reqs)
      else:
          req_iter = gen(ireq)
      return set(req_iter)
docs: Retrieves dependencies for the given 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