加扰的JSON字符串

时间:2017-02-28 12:55:25

标签: python json

我正在尝试使用json python模块构建一个JSON字符串。

特别是我想要这个结构:

data = {
    'Id' : deviceId,
    'UnixTime' : unixTime,
    'Temp' : round( temperature, 2 ),
    'Rh' : round( humidity,2 ),
}

但是当我执行:jsonString = json.dumps( data )

所有字段都被扰乱。

有任何建议吗?

1 个答案:

答案 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}'