Dump as minified JSON as possible in its serializer (#658)
This commit is contained in:
committed by
Honza Král
parent
83a26ec78a
commit
43ddb3d56b
@@ -45,7 +45,12 @@ class JSONSerializer(object):
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
try:
|
try:
|
||||||
return json.dumps(data, default=self.default, ensure_ascii=False)
|
return json.dumps(
|
||||||
|
data,
|
||||||
|
default=self.default,
|
||||||
|
ensure_ascii=False,
|
||||||
|
separators=(',', ':'),
|
||||||
|
)
|
||||||
except (ValueError, TypeError) as e:
|
except (ValueError, TypeError) as e:
|
||||||
raise SerializationError(data, e)
|
raise SerializationError(data, e)
|
||||||
|
|
||||||
|
|||||||
@@ -12,15 +12,15 @@ from .test_cases import TestCase, SkipTest
|
|||||||
|
|
||||||
class TestJSONSerializer(TestCase):
|
class TestJSONSerializer(TestCase):
|
||||||
def test_datetime_serialization(self):
|
def test_datetime_serialization(self):
|
||||||
self.assertEquals('{"d": "2010-10-01T02:30:00"}', JSONSerializer().dumps({'d': datetime(2010, 10, 1, 2, 30)}))
|
self.assertEquals('{"d":"2010-10-01T02:30:00"}', JSONSerializer().dumps({'d': datetime(2010, 10, 1, 2, 30)}))
|
||||||
|
|
||||||
def test_decimal_serialization(self):
|
def test_decimal_serialization(self):
|
||||||
if sys.version_info[:2] == (2, 6):
|
if sys.version_info[:2] == (2, 6):
|
||||||
raise SkipTest("Float rounding is broken in 2.6.")
|
raise SkipTest("Float rounding is broken in 2.6.")
|
||||||
self.assertEquals('{"d": 3.8}', JSONSerializer().dumps({'d': Decimal('3.8')}))
|
self.assertEquals('{"d":3.8}', JSONSerializer().dumps({'d': Decimal('3.8')}))
|
||||||
|
|
||||||
def test_uuid_serialization(self):
|
def test_uuid_serialization(self):
|
||||||
self.assertEquals('{"d": "00000000-0000-0000-0000-000000000003"}', JSONSerializer().dumps({'d': uuid.UUID('00000000-0000-0000-0000-000000000003')}))
|
self.assertEquals('{"d":"00000000-0000-0000-0000-000000000003"}', JSONSerializer().dumps({'d': uuid.UUID('00000000-0000-0000-0000-000000000003')}))
|
||||||
|
|
||||||
def test_raises_serialization_error_on_dump_error(self):
|
def test_raises_serialization_error_on_dump_error(self):
|
||||||
self.assertRaises(SerializationError, JSONSerializer().dumps, object())
|
self.assertRaises(SerializationError, JSONSerializer().dumps, object())
|
||||||
|
|||||||
Reference in New Issue
Block a user