Linux 命令行 JSON 格式化命令大全

📦 常用工具清单

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值