diff --git a/aiogram/contrib/fsm_storage/files.py b/aiogram/contrib/fsm_storage/files.py index 455ca3f0..c28723a9 100644 --- a/aiogram/contrib/fsm_storage/files.py +++ b/aiogram/contrib/fsm_storage/files.py @@ -1,8 +1,8 @@ -import json import pathlib import pickle import typing +from aiogram.utils import json from .memory import MemoryStorage diff --git a/aiogram/utils/json.py b/aiogram/utils/json.py index 56f122e4..cf6087ed 100644 --- a/aiogram/utils/json.py +++ b/aiogram/utils/json.py @@ -20,28 +20,46 @@ for json_lib in (RAPIDJSON, UJSON): break if mode == RAPIDJSON: + + def dump(*args, **kwargs): + return json.dump(*args, **kwargs) + + def load(*args, **kwargs): + return json.load(*args, **kwargs) + def dumps(data): return json.dumps(data, ensure_ascii=False) - def loads(data): return json.loads(data, number_mode=json.NM_NATIVE) + elif mode == UJSON: + + def dump(*args, **kwargs): + return json.dump(*args, **kwargs) + + def load(*args, **kwargs): + return json.load(*args, **kwargs) + def loads(data): return json.loads(data) - def dumps(data): return json.dumps(data, ensure_ascii=False) + else: import json + def dump(*args, **kwargs): + return json.dump(*args, **kwargs) + + def load(*args, **kwargs): + return json.load(*args, **kwargs) def dumps(data): return json.dumps(data, ensure_ascii=False) - def loads(data): return json.loads(data) diff --git a/tests/__init__.py b/tests/__init__.py index 920d5663..fe025192 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -26,7 +26,7 @@ class FakeTelegram(aresponses.ResponsesMockServer): @staticmethod def parse_data(message_data): - import json + from aiogram.utils import json from aiogram.utils.payload import _normalize _body = '{"ok":true,"result":' + json.dumps(_normalize(message_data)) + '}'