该包python-demjson
提供了jsonlint
命令。
我像这样使用它来格式化我的 JSON 数据:
jsonlint -f input.json > output.json
但是数据不再按原始顺序排列,而是按<key:value>
字母顺序排列:
原始 JSON:
{"beta":123, "alpha":123}
后jsonlint
:
{ "alpha":123
"beta":123
}
我可以禁用字母排序吗jsonlint
?
还是我应该使用其他 JSON 验证器?请仅推荐离线工具。
- 操作系统:Ubuntu 14.04
答案1
摘自的手册页jsonlint
:
[...]
-f, --format
Reformat the JSON (if legal) to stdout
[...]
When reformatting, all members of objects (associative arrays)
are always output in lexigraphical sort order.
[...]
这意味着如果您使用该-f
选项重新格式化 JSON 数据,此工具将始终按字母顺序对条目进行排序。
您必须寻找替代软件来执行此操作。 如果找到任何替代软件,我将编辑此答案并添加一些。
你可以看看网站http://www.json.fr/所有验证都是在客户端完成的,这意味着您可以在计算机上保存网站(保存完整网站,而不仅仅是 HTML!)然后通过在浏览器中打开下载的文件仍然可以离线使用它。
它不会通过排序来改变元素顺序。您的示例输入变为:
{ "beta": 123, "alpha": 123 }