在命令行上构建 JSON 是令人讨厌的。

主要观点:作为“计算机程序的胶水工”,经常需要在命令行与 JSON 交互,jq很重要但构建 JSON 较麻烦,有多种方法如直接echo、BASH 中的 heredoc 等,但都有不足;日常工作中处理接受 JSON 字符串为参数的命令行工具时很烦人,希望有能在命令行轻松构建 JSON 的工具,提到了httpie及其类似需求,虽未找到类似jo的单用途 CLI 工具但发现xh可通过特定参数实现类似功能并给它起了别名xhjb

关键信息:

  • jq是处理命令行 JSON 的重要工具但构建 JSON 有痛点。
  • 直接echo构建 JSON 需大量转义引号,BASH 的 heredoc 虽好用但处理复杂。
  • 日常工作中处理命令行工具接受 JSON 字符串参数时很麻烦。
  • httpie是有良好语法的现代curl,可在命令行构建 JSON 但无类似jo工具。
  • xh可通过特定参数实现类似功能,可起别名xhjb

重要细节:

  • 直接echo示例:echo '{"some_key":{"sub_key":"its value"},"another_key":"another value"}' | jq '.'
  • BASH heredoc 示例:SUB_ME="its value" jq '.' << EOF { "some_key": { "sub_key": "$SUB_ME" }, "another_key": "another value" } EOF
  • xh示例:xh --offline --print=B fake.url "some_key[sub_key]=its value" "another_key=another value",可起别名xhjb
阅读 4
0 条评论