Json文件
对象是属性、值的集合。一个对象开始与”{” ,结束于”}”。每一个属性名和值间用”:”分隔。每个属性间用”,”分隔。
值可以是字符串,数字,逻辑值,数组,对象,null。 数字:整数或浮点数 字符串:在双引号中 逻辑符:true和false
数组:在方括号中 对象:在花括号中 null: 代表空
示范
- jq “.” 解析全部内容
- jq “.name,.id” 解析key为name和id的value ,为分隔符,基于当前
一般使用
{"name":"ym68","id":68,"url":"https://www.ym68.cc"}
解析Json格式文件内容
[[email protected] ~]# jq . a
{
"name": "ym68",
"id": 68,
"url": "https://www.ym68.cc"
}
解析指定key内容
[[email protected] ~]# jq .name a
"ym68"
[[email protected] ~]# jq .name,.id a
"ym68"
68
常规
- jq “.name_list|.[].name,.[].id” 解析指定key值,当有[]时需|进行分割
{"name_list":[{"name":"zhangsan","id":12},{"name":"lisi","id":13}],"id":68,"url":"https://www.ym68.cc"}
[[email protected] ~]# jq . a
{
"name_list": [
{
"name": "zhangsan",
"id": 12
},
{
"name": "lisi",
"id": 13
}
],
"id": 68,
"url": "https://www.ym68.cc"
}
[[email protected] ~]# jq ".name_list|.[].name,.[].id" a
"zhangsan"
"lisi"
12
13
[[email protected] ~]# jq ".name_list|.[]|.name,.id" a
"zhangsan"
12
"lisi"
13
重新指定输出内容
- jq “.name_list|.[]|{mingcheng:.name,yonghuid:.id}” 将[]中的内容进行重输出
[[email protected] ~]# jq ".name_list|.[]|{mingcheng:.name,yonghuid:.id}" a
{
"mingcheng": "zhangsan",
"yonghuid": 12
}
{
"mingcheng": "lisi",
"yonghuid": 13
}
[[email protected] ~]# jq ".name_list|.[]|{mingcheng:.name,yonghuid:.id,xinzeng:\"codedd\",xinzen2:12}" a
{
"mingcheng": "zhangsan",
"yonghuid": 12,
"xinzeng": "codedd",
"xinzen2": 12
}
{
"mingcheng": "lisi",
"yonghuid": 13,
"xinzeng": "codedd",
"xinzen2": 12
}
搜索匹配指定关键字
select(.name =="张三")
待完善~
此处评论已关闭