规范化JSON文件

Ste*_*n C 27 ruby java json

我有一堆自动生成的JSON文件,我想存储在版本控制中.问题是每次文件被序列化时,属性都以不同的顺序出现,这使得很难知道文件是否真的发生了变化和/或真正的差异是什么.

有谁知道将执行此任务的现有开源工具?

如果失败了,有没有人知道一个带有解析器和生成器的JSON库,可以配置为输出具有(比如)词法顺序属性的"漂亮"JSON?(Java或Ruby库是理想的,但也欢迎其他潜在客户.)

Mar*_*ner 16

Python的JSON模块在其他程序中非常有用:

generate_json | python -mjson.tool > canonical.json
Run Code Online (Sandbox Code Playgroud)

  • 注意:这是因为在`json.tool`的实现中`sort_keys = True`,但是这个保证似乎没有记录在任何地方,因此可能值得编写自己的脚本来保证:`import json ,sys; print json.dumps(json.load(sys.stdin),sort_keys = True)` (12认同)