Except that returns single quoted keys and values: `"{'key': 'val'}"` Which isn't valid JSON.

```python
if not isinstance(body, (basestring, int, long, float, complex)):
    body = json.dumps(body)
message = {'body': body}
```
I think that's reasonably robust.