def to_json(self, *, include_keys=None, exclude_keys=None, use_default_excludes=True, pretty=False): """Converts the response from to_dict to a JSON string. If pretty is True then newlines, indentation and key sorting are used. """ return to_json( self.to_dict( include_keys=include_keys, exclude_keys=exclude_keys, use_default_excludes=use_default_excludes), pretty=pretty)
def test_to_json(self): d = dict(a=[1, 2]) self.assertEqual(h.to_json(d), json.dumps(d, sort_keys=False, indent=None, separators=(",", ":"))) self.assertEqual(h.to_json(d, True), json.dumps(d, sort_keys=True, indent=2, separators=(", ", ": "))) with self.assertRaises(TypeError): d = dict(dt=datetime.now()) h.to_json(d) h.register_json_default(lambda o: hasattr(o, "isoformat"), lambda o: o.isoformat()) self.assertEqual(h.to_json(d), h.to_json(h.pick(d, ["dt"], transform=lambda n: n.isoformat())))