【每日一库】让你的 json 可以 grep:gron

polaris · · 3057 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

项目地址:<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 对象等。详细可以看项目首页的介绍。 建议试试,说不定什么时候就能用上!

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3057 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传