本文整理汇总了Python中rapidjson.dumps函数的典型用法代码示例。如果您正苦于以下问题:Python dumps函数的具体用法?Python dumps怎么用?Python dumps使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了dumps函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_datetime_values
def test_datetime_values(value):
with pytest.raises(TypeError):
rapidjson.dumps(value)
dumped = rapidjson.dumps(value, datetime_mode=rapidjson.DATETIME_MODE_ISO8601)
loaded = rapidjson.loads(dumped, datetime_mode=rapidjson.DATETIME_MODE_ISO8601)
assert loaded == value
示例2: test_datetime_mode_loads
def test_datetime_mode_loads():
import pytz
utc = datetime.now(pytz.utc)
utcstr = utc.isoformat()
jsond = rapidjson.dumps(utc, datetime_mode=rapidjson.DATETIME_MODE_ISO8601)
assert jsond == '"%s"' % utcstr
assert rapidjson.loads(jsond, datetime_mode=rapidjson.DATETIME_MODE_ISO8601) == utc
local = utc.astimezone(pytz.timezone('Europe/Rome'))
locstr = local.isoformat()
jsond = rapidjson.dumps(local, datetime_mode=rapidjson.DATETIME_MODE_ISO8601)
assert jsond == '"%s"' % locstr
assert rapidjson.loads(jsond) == locstr
assert rapidjson.loads(jsond, datetime_mode=rapidjson.DATETIME_MODE_ISO8601) == local
load_as_utc = rapidjson.loads(jsond, datetime_mode=rapidjson.DATETIME_MODE_ISO8601_UTC)
assert load_as_utc == utc
assert not load_as_utc.utcoffset()
load_as_naive = rapidjson.loads(jsond, datetime_mode=rapidjson.DATETIME_MODE_ISO8601_IGNORE_TZ)
assert load_as_naive == local.replace(tzinfo=None)
示例3: test_circular_composite
def test_circular_composite():
dct2 = {}
dct2['a'] = []
dct2['a'].append(dct2)
with pytest.raises(OverflowError):
rapidjson.dumps(dct2)
示例4: test_allow_nan
def test_allow_nan():
f = [1.1, float("inf"), 2.2, float("nan"), 3.3, float("-inf"), 4.4]
expected = '[1.1,Infinity,2.2,NaN,3.3,-Infinity,4.4]'
assert rapidjson.dumps(f) == expected
assert rapidjson.dumps(f, allow_nan=True) == expected
with pytest.raises(ValueError):
rapidjson.dumps(f, allow_nan=False)
s = "NaN"
assert math.isnan(rapidjson.loads(s))
assert math.isnan(rapidjson.loads(s, allow_nan=True))
with pytest.raises(ValueError):
rapidjson.loads(s, allow_nan=False)
s = "Infinity"
assert rapidjson.loads(s) == float("inf")
assert rapidjson.loads(s, allow_nan=True) == float("inf")
with pytest.raises(ValueError):
rapidjson.loads(s, allow_nan=False)
s = "-Infinity"
assert rapidjson.loads(s) == float("-inf")
assert rapidjson.loads(s, allow_nan=True) == float("-inf")
with pytest.raises(ValueError):
rapidjson.loads(s, allow_nan=False)
示例5: test_sort_keys
def test_sort_keys():
o = {"a": 1, "z": 2, "b": 3}
expected1 = '{"a":1,"b":3,"z":2}'
expected2 = '{\n "a": 1,\n "b": 3,\n "z": 2\n}'
assert rapidjson.dumps(o, sort_keys=True) == expected1
assert rapidjson.dumps(o, sort_keys=True, indent=4) == expected2
示例6: test_max_recursion_depth
def test_max_recursion_depth():
a = {'a': {'b': {'c': 1}}}
assert rapidjson.dumps(a) == '{"a":{"b":{"c":1}}}'
with pytest.raises(OverflowError):
rapidjson.dumps(a, max_recursion_depth=2)
示例7: test_unicode
def test_unicode(u):
s = u.encode('utf-8')
ju = rapidjson.dumps(u)
js = rapidjson.dumps(s)
assert ju == js
assert ju == json.dumps(u)
assert rapidjson.dumps(u, ensure_ascii=False) == json.dumps(u, ensure_ascii=False)
示例8: test_unicode_1
def test_unicode_1():
u = '\N{GREEK SMALL LETTER ALPHA}\N{GREEK CAPITAL LETTER OMEGA}'
s = u.encode('utf-8')
ju = rapidjson.dumps(u)
js = rapidjson.dumps(s)
assert ju == js
assert ju.lower() == json.dumps(u).lower()
assert rapidjson.dumps(u, ensure_ascii=False) == json.dumps(u, ensure_ascii=False)
示例9: test_unicode_3
def test_unicode_3():
u = 'asdf \U0010ffff \U0001ffff qwert \uffff \u10ff \u00ff \u0080 \u7fff \b\n\r'
s = u.encode('utf-8')
ju = rapidjson.dumps(u)
js = rapidjson.dumps(s)
assert ju == js
assert ju.lower() == json.dumps(u).lower()
assert rapidjson.dumps(u, ensure_ascii=False) == json.dumps(u, ensure_ascii=False)
示例10: test_unicode_2
def test_unicode_2():
u = '\U0010ffff'
s = u.encode('utf-8')
ju = rapidjson.dumps(u)
js = rapidjson.dumps(s)
assert ju == js
assert ju.lower() == json.dumps(u).lower()
assert rapidjson.dumps(u, ensure_ascii=False) == json.dumps(u, ensure_ascii=False)
示例11: test_serialize_sets
def test_serialize_sets():
def default_iterable(obj):
return list(obj)
rapidjson.dumps([set()], default=default_iterable)
with pytest.raises(TypeError):
rapidjson.dumps([set()])
示例12: test_infinity
def test_infinity():
inf = float("inf")
dumped = rapidjson.dumps(inf)
loaded = rapidjson.loads(dumped)
assert loaded == inf
d = Decimal(inf)
dumped = rapidjson.dumps(inf, use_decimal=True)
loaded = rapidjson.loads(dumped, use_decimal=True)
assert loaded == inf
示例13: test_skipkeys
def test_skipkeys():
o = {True: False, 1: 1, 1.1: 1.1, (1, 2): "foo", b"asdf": 1, None: None}
with pytest.raises(TypeError):
rapidjson.dumps(o)
with pytest.raises(TypeError):
rapidjson.dumps(o, skipkeys=False)
assert rapidjson.dumps(o, skipkeys=True) == '{}'
示例14: test_nan
def test_nan():
nan = float("nan")
dumped = rapidjson.dumps(nan)
loaded = rapidjson.loads(dumped)
assert math.isnan(nan)
assert math.isnan(loaded)
d = Decimal(nan)
dumped = rapidjson.dumps(nan, use_decimal=True)
loaded = rapidjson.loads(dumped, use_decimal=True)
assert math.isnan(d)
assert math.isnan(loaded)
示例15: _load_schema
def _load_schema(name):
"""Load a schema from disk"""
path = os.path.join(os.path.dirname(__file__), name + '.yaml')
with open(path) as handle:
schema = yaml.safe_load(handle)
fast_schema = rapidjson_schema.loads(rapidjson.dumps(schema))
return path, (schema, fast_schema)