code: async def json(self, *, encoding: str=None,
                     loads: JSONDecoder=DEFAULT_JSON_DECODER,
                     content_type: Optional[str]='application/json') -> Any:
          
          if self._body is None:
              await self.read()
  
          if content_type:
              ctype = self.headers.get(hdrs.CONTENT_TYPE, '').lower()
              if not _is_expected_content_type(ctype, content_type):
                  raise ContentTypeError(
                      self.request_info,
                      self.history,
                      message=('Attempt to decode JSON with '
                               'unexpected mimetype: %s' % ctype),
                      headers=self.headers)
  
          if encoding is None:
              encoding = self.get_encoding()
  
          return loads(self._body.decode(encoding))
docs: Read and decodes JSON response.