点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习 Go 语言
项目地址:https://github.com/tomnomnom/gron,目前 Star 数 6.1k。
gron 将 JSON 转换为离散的值,以使其更易于根据需要进行grep并查看其绝对“路径”。它简化了对返回大块 JSON 但具有糟糕文档的 API 的探索。
可以源码安装,要求 Go1.7+
go get -u github.com/tomnomnom/gron
或者下载编译好的二进制:https://github.com/tomnomnom/gron/releases。
使用本地 JSON 文件:
$ gron testdata/two.json
json = {};
json.contact = {};
json.contact.email = "[email protected]";
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:
$ gron http://headers.jsontest.com/
json = {};
json.Host = "headers.jsontest.com";
json["User-Agent"] = "gron/0.1";
json["X-Cloud-Trace-Context"] = "6917a823919477919dbc1523584ba25d/11970839830843610056";
还可以从标准输入:
$ 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 对象等。详细可以看项目首页的介绍。
建议试试,说不定什么时候就能用上!点击「阅读原文」直达项目主页。
推荐阅读
喜欢本文的朋友,欢迎关注“Go语言中文网”:
Go语言中文网启用微信学习交流群,欢迎加微信:274768166,投稿亦欢迎