我正在尝试使用json python模块构建一个JSON字符串。
特别是我想要这个结构:
data = {
'Id' : deviceId,
'UnixTime' : unixTime,
'Temp' : round( temperature, 2 ),
'Rh' : round( humidity,2 ),
}
但是当我执行:jsonString = json.dumps( data )
所有字段都被扰乱。
有任何建议吗?
答案 0 :(得分:3)
Python dict和JSON对象都是无序集合。
使用sort_keys参数对键进行排序:
>>> import json
>>> json.dumps({'a': 1, 'b': 2})
'{"b": 2, "a": 1}'
>>> json.dumps({'a': 1, 'b': 2}, sort_keys=True)
'{"a": 1, "b": 2}'
如果您需要特定订单;你可以使用collections.OrderedDict:
>>> from collections import OrderedDict
>>> json.dumps(OrderedDict([("a", 1), ("b", 2)]))
'{"a": 1, "b": 2}'
>>> json.dumps(OrderedDict([("b", 2), ("a", 1)]))
'{"b": 2, "a": 1}'