mxp*_*usb 5 python json dictionary
我有一本要发送到 API 的字典,不幸的是,该 API 要求字典按非常特定的顺序排列。我正在从文件加载字典。
现在json.load(fh, object_pairs_hook=OrderedDict)完全按照它应该做的,并按字母顺序排列顶级键,但我需要以不同的方式对字典进行排序。
具体顺序:
{
"kind": "string",
"apiVersion": "string",
"metadata": {...},
"spec": {
"subKey": "string"
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用从文件加载的字典指定顶级和子级键的字典顺序?
在 Python 中,项目的顺序OrderedDict遵循它们写入其中的顺序。
因此,如果您想在创建时控制项目的顺序OrderedDict,您可以按照您想要的顺序编写它们。对于现有的OrderedDict,您可以按顺序读出、删除和写回每一项。
在您的示例中,如果您需要调整项目的顺序,您可以这样做:
orders = ("kind", "apiVersion", "metadata", "spec")
for key in orders:
v = object_pairs_hook[key]
del object_pairs_hook[key]
object_pairs_hook[key] = v
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1040 次 |
| 最近记录: |