908c908,916
< d[param] = self._values[param].value
---
> # Use native type for those supported by JSON and
> # strings for everything else. skipkeys=True seems
> # to not work as well as one would hope
> if type(self._values[param].value) in \
> [str, unicode, int, long, float, bool, None]:
> d[param] = self._values[param].value
> else:
> d[param] = str(self._values[param])
>