【发布时间】:2011-02-15 23:47:29
【问题描述】:
我在 python 中遇到了 JSON 的问题。
事实上,如果我尝试执行这段代码,python 会给我一个排序后的 JSON 字符串!
例如:
values = {
'profile': 'testprofile',
'format': 'RSA_RC4_Sealed',
'enc_key': base64.b64encode(chiave_da_inviare),
'request': base64.b64encode(data)
}
values_json = json.dumps(values, sort_keys = False, separators = (',', ':'))
这是输出:
{
"profile": "testprofile",
"enc_key": "GBWo[...]NV6w==",
"request": "TFl[...]uYw==",
"format": "RSA_RC4_Sealed"
}
如您所见,我尝试使用“sort_keys=False”但没有任何改变。
如何停止 Python 对 JSON 字符串进行排序?
【问题讨论】:
-
sort_keys 默认为 False。 docs.python.org/3/library/json.html你用的是哪个python?
-
正如其他人所注意到的,此示例输出也未排序,只是与输入示例不同。哈希映射(Python 称之为 dict 类型)的“特征”之一是键顺序无关紧要。输出排序被认为是装饰性的。依赖顺序的代码逻辑通常被认为是病态的。