jq是linux下一个解析json格式数据的实用工具,可以将在linux下一团糟的json数据按格式输出,还可以直接选中关键字打印出它的值。
首先要进行安装:
1.命令行安装
sudo apt-get install jq
如果你也跟我一样提示找不到jq包,那么可以用第二种方式。
2.网址下载
https://stedolan.github.io/jq/download/
根据系统选择,这里博主使用的是ubuntu,点击ubuntu。
选择版本,不清楚版本的可以在terminal输入uname指令查看:
uname -a
随意选择亚洲地区的下载链接,保存,直接安装,完成。
然后是使用,这里只给出最实用的3个语法,详细的可以用man查看:
man jq
{"image_id": "6kox5v0GjhI9f+MWEc3wIA==", "request_id": "1493524184,9bbee040-d1f0-4681-be0a-96dbf9a4d018", "time_used": 292, "faces": [{"attributes": {"gender": {"value": "Female"}, "age": {"value": 26}}, "face_rectangle": {"width": 113, "top": 125, "left": 198, "height": 113}, "face_token": "ff5bda3d50e933584a28722afd8f9b2e"}]}
1.格式化输出json
jq . face
得到:
{
"faces": [
{
"face_token": "ff5bda3d50e933584a28722afd8f9b2e",
"face_rectangle": {
"height": 113,
"left": 198,
"top": 125,
"width": 113
},
"attributes": {
"age": {
"value": 26
},
"gender": {
"value": "Female"
}
}
}
],
"time_used": 292,
"request_id": "1493524184,9bbee040-d1f0-4681-be0a-96dbf9a4d018",
"image_id": "6kox5v0GjhI9f+MWEc3wIA=="
}
2.查看关键值
jq 'keys' face
得到:
[
"faces",
"image_id",
"request_id",
"time_used"
]
3.提取关键值
jq '.time_used' face
得到:
292
对于嵌套比较多层的json,在linux下使用awk进行解析也是一个不错的选择:linux下使用awk解析json