我试图根据同一对象中另一个键的“contains”值获取值
我已经尝试过一个代码,它可以工作并输出我想要的结果,但是JSON中的一些对象没有这个键,如我所得到的:
jq: error (at <stdin>:1): null (null) and string ("BBC") cannot have their containment checked
或者这个错误的原因是其他键中的数组,我不确定
使用:
jq '.entries[] | select(.icon | contains("BBC")) | .uuid'
我希望找到的结果的UUID没有错误,并将其作为变量存储在shell中
"174501xxxxxxxxxxxxxe6342a03"
导入的输入文件
{
"entries":[
{
"uuid":"174501xxxxxxxxxxxxxe6342a03",
"enabled":true,
"autoname":true,
"name":"BBC",
"number":0,
"icon":"file:///logos/BBC.png",
"icon_public_url":"imagecache/1097",
"epgauto":true,
"epggrab":[ ],
"dvr_pre_time":0,
"dvr_pst_time":0,
"epg_running":-1,
"services":[ ],
"tags":[ ],
"bouquet":""
},
{
"uuid":"174501xxxxxxxxxxxxxe6342a04",
"enabled":true,
"autoname":true,
"name":"ABC",
"number":0,
"icon_public_url":"imagecache/1098",
"epgauto":true,
"epggrab":[ ],
"dvr_pre_time":0,
"dvr_pst_time":0,
"epg_running":-1,
"services":[ ],
"tags":[ ],
"bouquet":""
}...