加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Fast Perl < - > Python序列化,支持整数字典键

发布时间:2020-12-16 06:19:06 所属栏目:大数据 来源:网络整理
导读:我正在寻找可以在Perl和 Python中使用的快速(xml太慢)序列化方法. 不幸的是,我不能使用JSON(和许多其他人),因为它总是将dict键的类型从整数更改为字符串.我需要序列化/反序列化来保留密钥类型. Python: import json dict_before = {1:'one',20: 'twenty'} d
我正在寻找可以在Perl和 Python中使用的快速(xml太慢)序列化方法.

不幸的是,我不能使用JSON(和许多其他人),因为它总是将dict键的类型从整数更改为字符串.我需要序列化/反序列化来保留密钥类型.

Python:

>>> import json
>>> dict_before = {1:'one',20: 'twenty'}
>>> data = json.dumps(dict_before)
>>> dict_after = json.loads(data)

>>> dict_before
{1: 'one',20: 'twenty'}            #integer keys
>>> dict_after
{u'1': u'one',u'20': u'twenty'}    #string keys

欢迎任何建议.

解决方法

尝试 msgpack.它紧凑而快速.有一个 perl implementation但我从来没有用过它. python impl虽然有效:

>>> import msgpack
>>> x=msgpack.dumps({1:'aaa',2:'bbb'})
>>> x
'x82x01xa3aaax02xa3bbb'
>>> len(x)
11
>>> print msgpack.loads(x)
{1: 'aaa',2: 'bbb'}
>>>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读