在你的命令行界面应用程序中添加 JSON 输出的提示

几年前作者写了一篇关于将 Unix 哲学带入 21 世纪的有争议文章,为 CLI 工具添加了 JSON 输出选项,方便脚本解析。这引发争议,有人认为为每个任务编写定制解析器没什么,也有人认为 JSON 不好。现在越来越多命令行应用提供 JSON 输出选项,作者开发的jc能从旧命令行应用获取 JSON 输出。

  • 结构化输出支持增加:许多新命令行应用提供结构化输出选项,一些旧应用也在添加,如nvidia-smiffprobedocker CLItreeip等,作者为iostat命令开发了标准和流式解析器,发现 11 版及以上有 JSON 输出选项。
  • JSON 输出注意事项

    • :生成 JSON 输出时遵循一些最佳实践,如制作模式文档方便用户知道属性位置和类型,扁平化结构方便获取值,输出 JSON 行用于流式输出,使用可预测的键名,使用两个空格缩进或不格式化,不使用特殊字符、不允许重复键、不使用极大数字等。
    • 不做:避免使用特殊字符在键名中,不允许重复键,不使用极大数字,不使用 XML(只是开玩笑,认为 JSON 更优)。
  • 总结:要为终端用户考虑,遵循上述步骤可让用户更方便获取数据,这不是详尽列表,欢迎在评论中提出意见。
阅读 15
0 条评论