Native JSON Encode

Keys are now strings which makes marshaling possible.