用于python的超高速json编解码器

ujson-x-legac的Python项目详细描述


ultrajson-x-legacy
===
图片::https://travis-ci.org/paweltroka/ultrajson-x.svg?branch=legacy
:目标:https://travis-ci.org/paweltroka/ultrajson-x?分支=遗产[BR/>< BR/>超JSON-X遗产是一种超高速JSON编码器和解码器,用Python 2.5 +和3的绑定编写在纯C上。
BR/>对于更无痛的日常C/C++ JSON解码器经验,请基于UpjJSON检查UJSON4CI。
BR/>_ ujson4c:http://github.com/esnme/ujson4c/

====
用法
===
可用作python的大多数其他json解析器的替换:

>;>;导入ujson
>;>;ujson.dumps([{"key":"value"},81,true])
'[{"key":"value"},81,true]'
>;ujson.loads("[{"key":"value"},81,true]")
[{u'key':u'value'},81,true]

~~~~~~~~~~~~~~~~~~~~~
编码器选项
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
将HTML字符编码成更安全的Unicode序列。默认值为False::

>;>ujson.dumps("<;script>;john&;doe",encode_html_chars=true)
'"\u003cscript\\u003ejohn\\u0026doe"'

确保将输出限制为ascii,并忽略127以上的所有扩展字符。默认值为true。如果您的结束格式支持UTF-8,强烈建议将此选项设置为false以节省空间:

>;>ujson.dumps(u"\xe5\xe4\xf6")
"\\u00e5\\u00e4\\u00f6"
>;>ujson.dumps(u"\xe5\xe4\xf6",确保"u ascii=false"
"\xc3\xa5\xc3\xa4\xc3\xb6"

双精度
----
控制要为双精度值或十进制值编码的小数位数。默认值为9::

>;>;ujson.dumps(math.pi)
'3.1415926536'
>;>;ujson.dumps(math.pi,double_precision=1)
'3.1'
>;>;ujson.dumps(math.pi,double_precision=0)
'3'
>;>;ujson.dumps(math.pi,double_precision=4)
"3.1416"

——
控制是否对正斜杠(``/```)进行转义。默认值为true::

>;>;ujson.dumps("http://esn.me")
'"http:\/\/esn.me"'
>;>;ujson.dumps("http://esn.me",escape向前斜杠=false)
'"http://esn.me"

indent
启用。默认值为0(禁用):


>>>gt;ujson.dumps({"foo":"bar"}
{"foo":"bar"}
>>gt>gt;ujson.dumps({"foo":"bar""{"foo":"bar"},indent=4)
>
{
"foo":"bar"
>
>
>
>
>
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
精确浮动
--——
设置为在将字符串解码为双倍值时启用更高精度(strTod)函数。默认情况下,将使用快速但不太精确的内置功能:

>;>ujson.loads("4.56")
4.5600000000000005
>;>ujson.loads("4.56",precise\u float=true)
4.559999999996

~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~ Linux3.13.0-66-generic x86-u64 108 ubuntu smp ubuntu smp 2008年10月7日15:20:27-2015年10月7日15:20:27-2015年10月7日15:20:27 UTC 2015年10月7日

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~4E2D97E548A765D5F089858C41967B0)
-yajl:0.3.5

+——————————————————————————————————————————————————————————————————————————————|| ujson | yajl | simplejson | json |
+===============================================================================+============+============+============+============+
| Array with 256 doubles | | | | |
+--------------—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————---——+——————————————————字符串编码|2717.14 2006.38 2961.72
+——————————————————————————————————————————————————————————————————-----------------------------+————————————————————————————————————————————————————————————————————————————————————————————————————————————----+————————————————————————————————————————————————————————————————————————| 23264.70 12788.85 25427.88 9352.36
+————————————————————————————————————————————————————————————————中等复杂对象|||||
+————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————--——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————+——————————————————————————————————————————————————————————————————————————————————————| 105998.03 102067.28 44758.51 60424.80
+---------------------------—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————-———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————-——+————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————r/>dict,256个数组,256个dict{string,int}对| 50.25 46.45 13.82 29.28
+————————————————————————————————————————————————————————————————————————————解码| 33.27 22.10 27.91 10.43
+——————G排序的键.19 7.75 2.39
+————————|||||
+——————————————————————————————————————————————————————————————————————————————————————————————————————————————————R/>+??——---——————34(0c52200eb4e2d97e548a765d5f089858c41967b0)
-yajl:0.3.5

+——————————————————————————————————————————————————————————————————||ujson yajl simplejson json
+=============================================================+===+=+==+==+=+==+==+===+===+====+====+===+==+
----+
编码3477.15 5732.24 3016.76 3071.99
+——————————————————————————————————————————————————————————————————————解码| 23625.20 9731.45 9501.57 9901.92
+———————————————————————————————————————————————————————————————————————————————————————————————————————+————————--——+————————————————————————————————————————————————————数组带256个字符串|25461.75 12188.64 13054.76 14429.81
+———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————---——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————| 7887.77 5126.67 4934.60 6204.97
+——————|||||
+———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————-————————————————————————————————————————————————————————————————————————解码| 148312.69 75485.90 88434.91 116395.51
+??????????????+????????+????????+????????+????????+
256 dict{string,int}对的数组|||||
+——————————————————————————————————————————————————————————————————————————————————————————————————————————————02.35
+——————————--————————————————————————————————————————————————————————————————————————————————————————————————---————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————-+————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————----+————————————————————————————————————————————————————————————————————————————————--——+
| 432.30 351.47 379.34
+————————————————————————————————————————————————————————————————————————————解码| 434.40 221.97 149.57 147.79
+————————————————————————————————————————————————————————————————+

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
通过拖动Java Swing scroll JScrollPane   使用springrest控制器的java   为什么使用Java客户端传输的数据在Apache Pulsar上显示为编码?   java当数组位于arraylist中时,如何访问它?   用于处理{Item1}的正则表达式代码。将项2放入数组或列表中   java mouseListener让我的JList表现得很奇怪   java SecurityContextHolder尽管成功登录,但仍承载匿名用户   java如何在selenium自动化中使用captcha   eclipse如何在java中检查按钮是否可单击,SeleniumWebDriver。ps:检查是否可点击,不要等到它可点击   java Android存在读取\调用\日志权限问题   java按这种方式进行取整(保持小数)   Java中检查布尔数组的最快方法   java将列表中的元素替换为其他元素   JavaFX中的javaunicode补充平面   java如何使用hashmap显示图像url