命令行下查看JSON文件的实用指南**
在软件开发、数据处理和日常运维中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,被广泛应用,我们经常需要查看JSON文件的内容,虽然用文本编辑器打开JSON文件是最直接的方式,但在命令行环境下,一些查看JSON文件的命令不仅能提高效率,还能更好地与其他命令工具结合使用,本文将介绍几种在命令行下查看JSON文件的常用方法,从简单显示到格式化输出,再到交互式浏览。
直接使用 cat 命令(最简单,但不格式化)
cat 命令是Linux/Unix系统中用于连接并显示文件内容的经典工具。
- 命令格式:
cat filename.json
- 优点:
- 所有系统都预装,无需额外安装。
- 快速查看文件原始内容。
- 缺点:
- 不进行格式化,如果JSON文件内容是一行压缩的,输出会非常难以阅读。
- 示例:
cat data.json
假设
data.json内容为{"name":"John","age":30,"city":"New York"},则输出就是这行文本,可读性差。
使用 python -m json.tool(Python自带,推荐)
如果你的系统安装了Python(大多数Linux/macOS系统默认安装),那么使用Python内置的 json 模块来格式化JSON文件是非常方便的选择。
- 命令格式:
python -m json.tool filename.json
- 优点:
- 无需额外安装Python库。
- 格式化输出美观,缩进清晰,易于阅读。
- 能够检测JSON格式是否正确(如果格式错误会报错)。
- 缺点:
需要安装Python(但通常已具备)。
- 示例:
python -m json.tool data.json
假设
data.json内容为{"name":"John","age":30,"city":"New York"},输出会是:{ "age": 30, "city": "New York", "name": "John" }如果需要输出到文件:
python -m json.tool data.json > formatted_data.json
使用 jq 命令(功能强大的JSON处理器)
jq 是一个轻量级、灵活的命令行JSON处理器,它不仅能格式化显示JSON,还能像 sed、awk 处理文本一样过滤、映射和转换JSON数据,对于经常处理JSON的开发者来说,jq 是一个非常强大的工具。
-
安装
jq:- Ubuntu/Debian:
sudo apt-get install jq - CentOS/RHEL:
sudo yum install jq或sudo dnf install jq - macOS (Homebrew):
brew install jq - 其他平台: 从 jq官网 下载。
- Ubuntu/Debian:
-
基本格式化显示(等同于
python -m json.tool):jq . filename.json
或者更简洁地:
jq . filename.json
-
优点:
- 功能极其强大,支持复杂的JSON查询和转换。
- 格式化输出效果很好。
- 活跃的社区和丰富的文档。
-
缺点:
需要额外安装。
-
示例:
jq . data.json
输出格式化的JSON,如果只想查看特定字段,
name:jq .name data.json
输出:
"John"
使用 pretty-jq 或 python -m json.tool 的别名(可选)
为了更便捷,你可以为 python -m json.tool 创建一个别名,jsonpp (JSON Pretty Print)。
- 创建别名(在
~/.bashrc,~/.zshrc等配置文件中添加):alias jsonpp='python -m json.tool'
- 使用别名:
jsonpp filename.json
这样输入更短,更方便。
使用 less 命令分页查看大文件
当JSON文件非常大时,直接输出到终端可能会刷屏,难以查看,这时可以结合 less 命令进行分页显示。
- 命令格式:
# 先格式化,再通过less分页 python -m json.tool big_file.json | less # 或者使用jq jq . big_file.json | less
- 优点:
- 可以逐页、逐行、上下滚动查看大文件。
- 支持搜索(输入 后跟关键词)。
- 缺点:
需要配合格式化命令使用。
- 交互操作:
空格或f:向下翻一页b:向上翻一页j或 :向下移动一行k或 :向上移动一行/pattern:搜索patternq:退出less
总结与选择建议
| 方法 | 命令示例 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
cat |
cat file.json |
简单,预装 | 不格式化,难读 | 快速查看极短或单行JSON |
Python json.tool |
python -m json.tool file.json |
格式化好,检测错误,Python自带 | 需要Python,略长 | 通用格式化查看,无额外工具依赖 |
jq |
jq . file.json |
功能强大,支持查询转换,格式化好 | 需要额外安装 | 复杂JSON处理、查询、格式化 |
less 配合格式化 |
jq . file.json \| less |
适合查看大文件,支持分页和搜索 | 需要配合格式化命令 | 查阅大型JSON文件 |
- 快速简单查看:如果JSON文件很小且格式简单,
cat足够。 - 通用格式化查看:
python -m json.tool是最方便的选择,无需安装额外软件。 - 复杂处理或频繁操作:强烈建议安装并学习使用
jq,它会极大提升你处理JSON的效率。 - 查看大文件:使用
jq或python -m json.tool结合less进行分页查看。
这些命令,你就能在不同场景下灵活高效地查看JSON文件了,希望本文对你有所帮助!



还没有评论,来说两句吧...