GitHub - ultrajson/ultrajson: Ultra fast JSON decoder and encoder written in C w...
source link: https://github.com/ultrajson/ultrajson
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
UltraJSON
UltraJSON is an ultra fast JSON encoder and decoder written in pure C with bindings for Python 3.6+.
Install with pip:
python -m pip install ujson
Usage
May be used as a drop in replacement for most other JSON parsers for Python:
>>> import ujson >>> ujson.dumps([{"key": "value"}, 81, True]) '[{"key":"value"},81,true]' >>> ujson.loads("""[{"key": "value"}, 81, true]""") [{'key': 'value'}, 81, True]
Encoder options
encode_html_chars
Used to enable special encoding of "unsafe" HTML characters into safer Unicode sequences. Default is False
:
>>> ujson.dumps("<script>John&Doe", encode_html_chars=True) '"\\u003cscript\\u003eJohn\\u0026Doe"'
ensure_ascii
Limits output to ASCII and escapes all extended characters above 127. Default is True
. If your end format supports UTF-8, setting this option to false is highly recommended to save space:
>>> ujson.dumps("åäö") '"\\u00e5\\u00e4\\u00f6"' >>> ujson.dumps("åäö", ensure_ascii=False) '"åäö"'
escape_forward_slashes
Controls whether forward slashes (/
) are escaped. Default is True
:
>>> ujson.dumps("http://esn.me") '"http:\\/\\/esn.me"' >>> ujson.dumps("http://esn.me", escape_forward_slashes=False) '"http://esn.me"'
indent
Controls whether indentation ("pretty output") is enabled. Default is 0
(disabled):
>>> ujson.dumps({"foo": "bar"}) '{"foo":"bar"}' >>> print(ujson.dumps({"foo": "bar"}, indent=4)) { "foo":"bar" }
Benchmarks
UltraJSON calls/sec compared to other popular JSON parsers with performance gain specified below each.
Test machine:
Linux 5.0.0-1032-azure x86_64 #34-Ubuntu SMP Mon Feb 10 19:37:25 UTC 2020
Versions:
- CPython 3.8.2 (default, Feb 28 2020, 14:28:43) [GCC 7.4.0]
- nujson : 1.35.2
- orjson : 2.6.1
- simplejson: 3.17.0
- ujson : 2.0.2
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK