Spaces:
Sleeping
Sleeping
File size: 1,287 Bytes
1d777c4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
import importlib
import os
JSON = 'json'
RAPIDJSON = 'rapidjson'
UJSON = 'ujson'
# Detect mode
mode = JSON
for json_lib in (RAPIDJSON, UJSON):
if 'DISABLE_' + json_lib.upper() in os.environ:
continue
try:
json = importlib.import_module(json_lib)
except ImportError:
continue
else:
mode = json_lib
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)
|