📦 常用工具清单
1. jq - 全能 JSON 处理器
# 安装命令
sudo apt install jq # Debian/Ubuntu
sudo yum install jq # CentOS/RHEL
sudo pacman -S jq # Arch/Manjaro
# 使用示例
echo '{"name":"小明","age":20}' | jq '.' # 基础格式化
curl -s https://api.example.com/data | jq '.users.email' # 提取嵌套字段
jq --indent 4 '.data' large.json > formatted.json # 缩进4空格输出到文件
2. Python 内置模块
#无需安装,所有 Linux 系统自带
echo '{"汉字测试":true}' | python3 -m json.tool # 中文转 Unicode
echo '{"汉字":1}' | python3 -c 'import json,sys; print(json.dumps(json.load(sys.stdin), ensure_ascii=False, indent=2))'
#↑ 保持中文原样输出
3. json_pp - Perl 轻量工具
# 安装 sudo apt install libjson-pp-perl # Debian sudo yum install perl-JSON-PP # RHEL # 使用 cat data.json | json_pp -json_opt pretty,canonical # 格式化+键排序 json_pp -f yaml -t json < config.yaml # YAML 转 JSON
4. fx - 交互式查看器
# 通过 Node.js 安装 npm install -g fx # 交互模式 curl -s https://api.github.com/repos/stedolan/jq | fx 'Object.keys(this)'
5. yajl 工具集
# 安装 sudo apt install yajl-tools # Debian sudo yum install yajl # CentOS # 快速格式化 json_reformat < unformatted.json
🎯 使用场景对比
| 工具 | 最佳场景 | 性能 | 中文支持 | 学习曲线 |
|---|---|---|---|---|
| jq | 复杂查询/数据转换 | ⚡️⚡️⚡️ | ✅ | 中等 |
| Python 模块 | 快速格式化/简单脚本 | ⚡️⚡️ | 需参数 | 简单 |
| json_pp | 键排序/Perl 环境 | ⚡️ | ✅ | 简单 |
| fx | 交互式探索大型 JSON | ⚡️ | ✅ | 低 |
| yajl | 极速格式化 | ⚡️⚡️⚡️⚡️ | ❌ | 简单 |
💡 高阶技巧
1. 实时格式化日志流
Copy Code tail -f application.log | jq --unbuffered '.'
2. 格式转换
# CSV 转 JSON
csvtojson input.csv | jq
# JSON 转 TOML
npm install -g @iarna/toml
echo '{"depth":5}' | json2toml
3. Vim 集成
" 在 Vim 中格式化选中的 JSON 块 :'<,'>!python -m json.tool " 安装 jq-vim 插件实现语法高亮 Plug 'vito-c/jq.vim'
🚫 常见问题处理
1. 问题:jq 处理大文件内存不足
解决:使用流式解析:
jq --stream 'select(has("data"))' huge.json
2. 问题:JSON 文件含注释
解决:使用 strip-comments 预处理:
npm install -g strip-json-comments strip-json-comments config-with-comments.json | jq

8506

被折叠的 条评论
为什么被折叠?



