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
|
## Use `orjson`
```python hl_lines="17"
import orjson
from flask.json.provider import JSONProvider
class OrJSONProvider(JSONProvider):
# https://github.com/ijl/orjson#option
option = orjson.OPT_INDENT_2
def dumps(self, obj, **kwargs):
return orjson.dumps(obj, option=self.option).decode()
def loads(self, s, **kwargs):
return orjson.loads(s)
app = OpenAPI(__name__, info=info)
# use orjson
orjson_provider = OrJSONProvider(app)
app.json = orjson_provider
```
## Use `ujson`
```python hl_lines="24"
import ujson
from flask.json.provider import JSONProvider
class UJSONProvider(JSONProvider):
# https://github.com/ultrajson/ultrajson
encode_html_chars = False
ensure_ascii = False
indent = 4
def dumps(self, obj, **kwargs):
option = {
"encode_html_chars": self.encode_html_chars,
"ensure_ascii": self.ensure_ascii,
"indent": self.indent
}
return ujson.dumps(obj, **option)
def loads(self, s, **kwargs):
return ujson.loads(s)
app = OpenAPI(__name__, info=info)
# use ujson
ujson_provider = UJSONProvider(app)
app.json = ujson_provider
```
|