OrderedDict 有序字典以及读取json串时如何保持原有顺序

1. OrderedDict 有序字典

OrderedDict是dict的子类,它记住了内容添加的顺序。
比较时,OrderedDict要内容和顺序完全相同才会视为相等

示例:

import collections
d = collections.OrderedDict()
d[3] = 'A'
d[2] = 'B'
d[1] = 'C'

for k, v in d.items():
   print k, v

结果:

3 A
2 B
1 C

而如果d是一般的dict,则结果是:

1 C
2 B
3 A


2.读取json串时如何保持原有顺序

import json
from collections import OrderedDict
metadata = json.loads(text, object_pairs_hook=OrderedDict);

metadata中properties的顺序是跟text中定义的顺序是一样的。

具体可以看 python文档中json.loads函数中的参数




你可能感兴趣的:(OrderedDict 有序字典以及读取json串时如何保持原有顺序)