栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Unix工具解析JSON

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Unix工具解析JSON

有许多专门用于从命令行操作JSON的工具,它们比使用Awk进行操作要容易和可靠得多,例如

jq

curl -s 'https://api.github.com/users/lambda' | jq -r '.name'

您还可以使用系统上可能已经安装的工具(例如使用

json
模块的
Python)来执行此操作,从而避免任何额外的依赖关系,同时仍然可以使用适当的JSON解析器。以下假设您要使用UTF-8,原始JSON应该用UTF-8编码,这也是大多数现代终端所使用的:

Python 3:

curl -s 'https://api.github.com/users/lambda' |     python3 -c "import sys, json; print(json.load(sys.stdin)['name'])"

Python 2:

export PYTHonIOENCODING=utf8curl -s 'https://api.github.com/users/lambda' |     python2 -c "import sys, json; print json.load(sys.stdin)['name']"

历史笔记

该答案最初推荐jsawk,它应该仍然有效,但是使用起来要麻烦一些

jq
,并且取决于安装的独立Javascript解释器(比Python解释器少见),因此上述答案可能更可取:

curl -s 'https://api.github.com/users/lambda' | jsawk -a 'return this.name'

这个答案最初也使用了问题中的Twitter API,但是该API不再起作用,因此很难复制示例进行测试,而新的Twitter
API需要API密钥,因此我改用了GitHub API无需API密钥即可轻松使用。原始问题的第一个答案是:

curl 'http://twitter.com/users/username.json' | jq -r '.text'


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/399827.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号