JSON support, first cut

Potential fix for #10 

It would be better to mandate default, so that ext might be optional?