docs: def decode(self, s, _w=WHITESPACE.match, _PY3=PY3):
          """Return the Python representation of ``s`` (a ``str`` or ``unicode``
          instance containing a JSON document)
  
          """
          if _PY3 and isinstance(s, binary_type):
              s = s.decode(self.encoding)
          obj, end = self.raw_decode(s)
          end = _w(s, end).end()
          if end != len(s):
              raise JSONDecodeError("Extra data", s, end, len(s))
          return obj