rework JsonProvider so that the backing object don't have to implement List or Map
Merged jochenberger-improve-jsonprovider pull request.