issue #355 - add better exceptions when encountering invalid json

addresses issue #355
I think it's enough that the exception was thrown?
That error message isn't guaranteed to stay the same across the python versions we care about.