Linux下如何使用jq解析json数据
2017-08-23 17:47
931 查看
jq是Linux下一个解析json格式数据的实用工具,可以将在linux下一团糟的json数据按格式输出,还可以直接选中关键字打印出它的值。
首先要进行安装:
1.命令行安装
[plain] view
plain copy
print?
sudo apt-get install jq
如果你也跟我一样提示找不到jq包,那么可以用第二种方式。
2.网址下载
https://stedolan.github.io/jq/download/
根据系统选择,这里博主使用的是ubuntu,点击ubuntu。
选择版本,不清楚版本的可以在terminal输入uname指令查看:
[plain] view
plain copy
print?
uname -a
随意选择亚洲地区的下载链接,保存,直接安装,完成。
然后是使用,这里只给出最实用的3个语法,详细的可以用man查看:
[plain] view
plain copy
print?
man jq
以detect api返回的json数据为例,数据储存在文件face中:
[plain] view
plain copy
print?
{"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
[plain] view
plain copy
print?
jq . face
得到:
[plain] view
plain copy
print?
{
"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.查看关键值
[plain] view
plain copy
print?
jq 'keys' face
得到:
[plain] view
plain copy
print?
[
"faces",
"image_id",
"request_id",
"time_used"
]
3.提取关键值
[plain] view
plain copy
print?
jq '.time_used' face
得到:
[plain] view
plain copy
print?
292
对于嵌套比较多层的json,在linux下使用awk进行解析也是一个不错的选择:linux下使用awk解析json
转自:http://blog.csdn.net/IOT_Flower/article/details/70999894
首先要进行安装:
1.命令行安装
[plain] view
plain copy
print?
sudo apt-get install jq
如果你也跟我一样提示找不到jq包,那么可以用第二种方式。
2.网址下载
https://stedolan.github.io/jq/download/
根据系统选择,这里博主使用的是ubuntu,点击ubuntu。
选择版本,不清楚版本的可以在terminal输入uname指令查看:
[plain] view
plain copy
print?
uname -a
随意选择亚洲地区的下载链接,保存,直接安装,完成。
然后是使用,这里只给出最实用的3个语法,详细的可以用man查看:
[plain] view
plain copy
print?
man jq
以detect api返回的json数据为例,数据储存在文件face中:
[plain] view
plain copy
print?
{"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
[plain] view
plain copy
print?
jq . face
得到:
[plain] view
plain copy
print?
{
"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.查看关键值
[plain] view
plain copy
print?
jq 'keys' face
得到:
[plain] view
plain copy
print?
[
"faces",
"image_id",
"request_id",
"time_used"
]
3.提取关键值
[plain] view
plain copy
print?
jq '.time_used' face
得到:
[plain] view
plain copy
print?
292
对于嵌套比较多层的json,在linux下使用awk进行解析也是一个不错的选择:linux下使用awk解析json
转自:http://blog.csdn.net/IOT_Flower/article/details/70999894
相关文章推荐
- Linux下如何使用jq解析json数据
- Linux下使用jq解析JSON格式的数据
- Linux下使用jq解析JSON格式的数据
- 如何使用JSON Framework库解析与生成json数据
- 如何使用JSON Framework库解析与生成json数据
- 如何使用fastJson来解析JSON格式数据和生成JSON格式数据
- Android网络开发中如何使用JSON进行网络通信---Android JSON数据通讯方法解析
- 如何使用JSON Framework库解析与生成json数据(iphone网络篇二)
- 如何使用JSON Framework库解析与生成json数据(iphone网络篇二)
- 如何使用json-lib解析有2层嵌套的list数据,然后放到对应的bean中
- Android网络开发中如何使用JSON进行网络通信---Android_JSON数据通讯方法解析
- FastJSON使用心得——如何解析带中文或者数字key的数据
- Android网络开发中如何使用JSON进行网络通信---Android JSON数据通讯方法解析
- 如何统一解析JSON数据,使用Gson结合泛型类灵活,让您一劳永逸
- 如何使用fastJson来解析JSON格式数据和生成JSON格式数据
- 如何使用JSON Framework库解析与生成json数据
- JS解析json数据(如何将json字符串转化为数组)
- 在 Android 应用程序中使用 Internet 数据 解析 XML、JSON 和 protocol buffers 数据
- python--如何解析json数据结构
- Java解析JSON数据 使用org.json