【发布时间】:2016-11-29 14:10:10
【问题描述】:
我需要逐行打印静态 json 文件。我想在打印之前按键值对其进行排序。我查看了有关 stackoverflow 的其他几个示例,但无法找到解决此特定问题的方法。
到目前为止,我的代码如下所示:
import json
from pprint import pprint
with open('items.json') as data_file:
data = json.load(data_file)
for line in data:
pprint(data)
我的 json 看起来像这样:
[
{"version": ["2.8.2"], "license": ["GPL"]},
{"version": ["1.8.8"], "license": ["MIT/X11 License"]},
{"version": ["2.8.5"], "license": ["GPL"]},
{"version": ["1.8.9"], "license": ["MIT/X11 License"]}
]
如何在保留顺序的同时按“版本”等键值对其进行排序? 通过这种方式,我可以确定在哪个版本更改了许可证。
所需的输出如下所示:
[
{"version": ["1.8.8"], "license": ["MIT/X11 License"]},
{"version": ["1.8.9"], "license": ["MIT/X11 License"]},
{"version": ["2.8.2"], "license": ["GPL"]},
{"version": ["2.8.5"], "license": ["GPL"]}
]
谢谢。
【问题讨论】:
-
for line in data: pprint(data)永远不会提供您想要的输出,所以我必须澄清一下,您是希望获得有效的 JSON 作为输出,还是只是想要一些排序和漂亮的东西? -
在这种情况下只是排序和漂亮。