gron:使 JSON 可 grep 化
gron 是一个工具,可以将 JSON 转换为可 grep 的格式,方便用户搜索和处理 JSON 数据。

介绍
嘿,你有没有遇到过这样的情况:面对一大堆 JSON 数据,想找个具体信息却无从下手?这时候,gron 就派上用场了。gron 是一个超级实用的小工具,它可以将 JSON 转换成一系列独立的赋值语句,让你可以用 grep 轻松搜索你想要的内容。
gron 的基本功能
gron 的主要功能就是把 JSON 数据转成一行行的赋值语句。这样做的好处是,你可以用 grep 等工具快速找到你需要的路径。比如说,你有一个 API 返回了一个巨大的 JSON 数据块,文档又不太给力,这时候 gron 就能帮你快速定位到你需要的信息。
bash
gron "https://api.github.com/repos/tomnomnom/gron/commits?per_page=1" | fgrep "commit.author"
上面的命令就能让你找到 JSON 中 commit.author
的路径和内容。
反向操作
gron 还有个逆天的功能,就是可以把你筛选后的数据再转回 JSON 格式。比如:
bash
gron "https://api.github.com/repos/tomnomnom/gron/commits?per_page=1" | fgrep "commit.author" | gron --ungron
这样就能把筛选后的结果重新变成 JSON,方便后续处理。
安装 gron
安装 gron 也很简单。它没有运行时依赖,你可以直接下载适合你系统的二进制文件,然后放到你的 $PATH
里,比如 /usr/local/bin
。如果你是 Mac 用户,还可以通过 Homebrew 安装:
bashbrew install gron
如果你是 Go 用户,也可以用 go install 命令安装:
bashgo install github.com/tomnomnom/gron@latest
使用技巧
gron 还支持从文件、URL 或者标准输入读取 JSON 数据。比如:
bashgron testdata/two.json
或者从 URL 读取:
bashgron http://headers.jsontest.com/
你还可以结合 grep 来快速定位信息:
bashgron testdata/two.json | grep twitter
结尾感受
在我看来,gron 真是一个让人爱不释手的小工具,特别是当你需要处理复杂的 JSON 数据时。它简单、直接,而且和 grep 这样的工具配合得天衣无缝。下次再面对那些让人头大的 JSON 数据时,不妨试试 gron 吧!