主要观点:作为“计算机程序的胶水工”,经常需要在命令行与 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
。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。