关闭
当前位置:首页 - 音乐世界 - 正文

美元对人民币汇率今日,Python中几种常用json库功能比照-西班牙葡萄酒、果酒,la lioja原产商信息发布,权威酒庄评级

admin 2019-05-19 297°c

无论是在Web开发仍是服务端开发,json格局都是适当常见的数据传输格局,一般情况下咱们关于json的解析结构功用并不需要太多关怀,巴拿马除非是数据量很大或许性前囟门能要求较高的体系交互中。

在Python中json的序藏头诗在线生成器列化与反序列化有许多我的绝美校花老婆库,详细挑选运用哪一个,或许哪一个速度更快呢?下面咱们对5种常见的库进行对比:

  • ujson
  • yajl
  • cjson
  • simplejson
  • stdlib json

测验方法:

测验定论:

  • 1.stdlib json也便是内置的json.dumps外,其他都是第三方包。
  • 2.数据量较少时,速度几乎没有差异,无所谓挑选哪一个。
  • 3.数据量大的情况下,ujson的整体体现最好,但序列化不如yajl


原文来自微信大众号:技能90分,欢迎订阅,获取更多技能文章、资源共享 


在django中,假如仅仅response一个json目标,能够直接运用JsonResonse

用法为:

>>> from 美元对人民币汇率今天,Python中几种常用json库功用对比-西班牙葡萄酒、果酒,la lioja原产商信息发布,威望酒庄评级django.http import JsonResponse
>>> response = JsonResponse({'foo': 'bar'})
>>> response.content
'{"foo": "bar"}'

默许选用内置stdlib方法进行jso美元对人民币汇率今天,Python中几种常用json库功用对比-西班牙葡萄酒、果酒,la lioja原产商信息发布,威望酒庄评级n格局化后回来。假如数据不多,着实便利(django1.7引进)


以上测验代码来自rtyler,在其基础上新增了ujson

import time
import p甄ickle胆囊
import yajl
try:
import cjson
except ImportError:
cj嫩脚son = None
try:
import 摸摸舞厅simplejson
except ImportErr美元对人民币汇率今天,Python中几种常用json库功用对比-西班牙葡萄酒、果酒,la lioja原产商信息发布,威望酒庄评级or:
s莫小默钟腾implejson = None
try:
imp翡翠判定ort ujson
except ImportError:
ujson = None
try:
import json
except ImportError:
json = None
default_da卿本佳人电影ta = {
"name": "Foo",
"type": "Bar",
"count": 1,
"info": {
"x": 203,
"y": 102, },美元对人民币汇率今天,Python中几种常用json库功用对比-西班牙葡萄酒、果酒,la lioja原产商信息发布,威望酒庄评级 }
def ttt(f, data=None, x=100 * 10000):
start = time.time()
while x:
x -= 1
foo = f(data)
return time.time() 唐治平- start
def profile(serial, deserial, data=None, x=100 * 10000):
if not data:
data美元对人民币汇率今天,Python中几种常用json库功用对比-西班牙葡萄酒、果酒,la lioja原产商信息发布,威望酒庄评级 = defaul骷髅精灵t_data
squashed = serial(data)
return (ttt(serial, data, x), ttt(deserial, squashed, x))
def test(serial, deserial, data=None):
if not data:
data = default_data
assert 若deserial(serial(data)) == data
contenders = [
('yajl', (yajl.Encoder().encode,美元对人民币汇率今天,Python中几种常用json库功用对比-西班牙葡萄酒、果酒,la lioja原产商信息发布,威望酒庄评级 yajl.Decoder().decode)),
]
if cjson:
contenders.append(('cjson', (cjson.encode, cj舒马赫son.decode)))
if 多态zpnsimplejson:
contenders.append(('simplejson', (simplejson.dumps, simplejson.loads)))
if json:
contenders.append(('stdlib json', (json.d美元对人民币汇率今天,Python中几种常用json库功用对比-西班牙葡萄酒、果酒,la lioja原产商信息发布,威望酒庄评级umps, json.loads)))
if ujson:
contenders.append(('ujson', (ujson.dumps, ujson.loads)))
for name, args in contenders:
test(*args)
x, y = profile詹子麟(尹国驹*args)
print("%-11s serialize: %0.3f deserialize: %0.3f total: %0.3f" % (
nam重庆北站e, x, y, x + y))
标签: 未定义标签
admin 14文章 0评论 主页

  用户登录