首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在python中定义有序字典

如何在python中定义有序字典

作者头像
WeaponX
发布2018-07-11 15:52:36
1.7K0
发布2018-07-11 15:52:36
举报
文章被收录于专栏:BinarySecBinarySec

0x00 前言

最近遇到一个大坑,在测一个程序的时候。程序接受的数据是json,但是要求json是有序的(吐槽一样,要求有序的用json干屁啊!)

当我用python构造字典的时候,总会给我排序,用json.dumps转化为json后。导致程序解析失败。所以,在此研究了一下如何构造有序的json。

0x01 解决

网上查了一下,用到了python中有序字典OrderdDict,在collections库中。

在默认情况下:

>>> d= {}
>>> d["2"]=2
>>> d["1"]=1
>>> d["3"]=3
>>> d
{'1': 1, '3': 3, '2': 2}
>>> json.dumps(d)
'{"1": 1, "3": 3, "2": 2}'

使用OrderedDict后:

>>> import collections
>>> d = collections.OrderedDict()
>>> d["2"]=2
>>> d["1"]=1
>>> d["3"]=3
>>> d
OrderedDict([('2', 2), ('1', 1), ('3', 3)])
>>> import json
>>> json.dumps(d)
'{"2": 2, "1": 1, "3": 3}'

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 前言
  • 0x01 解决
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档