TYP: io.json._json, util._decorators
- [ ] closes #xxxx
- [ ] tests added / passed
- [ ] passes `black pandas`
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

@jbrockmendel I'll review this shortly.

FYI I've started to create a branch that just tracks the outstanding mypy errors for untyped defs. Might help in resolving some more of these (and finding the easy to fix modules). https://github.com/pandas-dev/pandas/compare/master...simonjayhawkins:untyped-defs  > FYI I've started to create a branch that just tracks the outstanding mypy errors for untyped defs

Neat.  I'm currently working on a branch that defines the relevant dunder methods on Index/Series/DataFrame directly instead of pinning them, which should address a bunch of these. > > FYI I've started to create a branch that just tracks the outstanding mypy errors for untyped defs
> 
> Neat. I'm currently working on a branch that defines the relevant dunder methods on Index/Series/DataFrame directly instead of pinning them, which should address a bunch of these.

cool. There is quite a lot of the errors due to mypy 0.74 typing self. For now, to get the modules off the exclude list can use setattr since mypy doesn't complain about that.

The other issue with self being typed is the mixins. Thanks @jbrockmendel 