I'm using flask and have a lot of requests. The json module, which is used by flask, is quite slow. I automatically can use simplejson, but thats a bit slower, not faster. According to the documentation I can define a decoder (flask.json_decoder), but orjson doesn't have this class. I only have the function loads and dumps. Can somebody explain me, how I can exchange the json module with orjson? In the end I just want to use the loads and dumps function, but I can't connect my loose ends.
a very basic implementation could look like this:
class ORJSONDecoder:
def __init__(self, **kwargs):
# eventually take into consideration when deserializing
self.options = kwargs
def decode(self, obj):
return orjson.loads(obj)
class ORJSONEncoder:
def __init__(self, **kwargs):
# eventually take into consideration when serializing
self.options = kwargs
def encode(self, obj):
# decode back to str, as orjson returns bytes
return orjson.dumps(obj).decode('utf-8')
app = Flask(__name__)
app.json_encoder = ORJSONEncoder
app.json_decoder = ORJSONDecoder
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With