项目地址:<https://github.com/tomnomnom/gron>,目前 Star 数 6.1k。
gron 将 JSON 转换为离散的值,以使其更易于根据需要进行grep并查看其绝对“路径”。它简化了对返回大块 JSON 但具有糟糕文档的 API 的探索。
## 安装
可以源码安装,要求 Go1.7+
```go
go get -u github.com/tomnomnom/gron
```
或者下载编译好的二进制:<https://github.com/tomnomnom/gron/releases>。
## 如何使用
使用本地 JSON 文件:
```bash
$ gron testdata/two.json
json = {};
json.contact = {};
json.contact.email = "mail@tomnomnom.com";
json.contact.twitter = "@TomNomNom";
json.github = "https://github.com/tomnomnom/";
json.likes = [];
json.likes[0] = "code";
json.likes[1] = "cheese";
json.likes[2] = "meat";
json.name = "Tom";
```
还可以从 URL 获取 JSON 进行 grep:
```bash
$ gron http://headers.jsontest.com/
json = {};
json.Host = "headers.jsontest.com";
json["User-Agent"] = "gron/0.1";
json["X-Cloud-Trace-Context"] = "6917a823919477919dbc1523584ba25d/11970839830843610056";
```
还可以从标准输入:
```bash
$ curl -s http://headers.jsontest.com/ | gron
json = {};
json.Accept = "*/*";
json.Host = "headers.jsontest.com";
json["User-Agent"] = "curl/7.43.0";
json["X-Cloud-Trace-Context"] = "c70f7bf26661c67d0b9f2cde6f295319/13941186890243645147";
```
除此之外,还可以方便对比两个 JSON 文件的不同、查看目标的 JSON 路径,并且 gron 的输出是合法的 JavaScript 对象等。详细可以看项目首页的介绍。
建议试试,说不定什么时候就能用上!
有疑问加站长微信联系(非本文作者)