JSON deprecation warning cleanup

* Reduces number of warnings are generated for the same issue.
* Puts them in warnings.warn (instead of logging).
* Makes them a DeprecationWarning on the caller.