使用“jsonlint”验证并格式化 JSON,而无需按字母顺序对数据进行排序

使用“jsonlint”验证并格式化 JSON,而无需按字母顺序对数据进行排序

该包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
    }
    

相关内容