在Linux上使用jq命令解析JSON数组字段,判断对象元素是否存在指定字段
在Linux上使用jq命令解析JSON字符串时,可以使用条件语句来判断数组字段///'abc///'内的对象元素是否存在字段名///'abcdefg///'。以下是一个示例命令://n//nshell//necho //'{/'abc/': [{/'abcdefg/': ///'value1///'}, {/'xyz/': ///'value2///'}]}//' | jq //'.abc[] | select(has(/'abcdefg/'))//'//n//n//n这个命令的输出将是具有字段名///'abcdefg///'的对象元素。如果数组字段///'abc///'内存在多个对象元素具有该字段名,那么命令的输出将包含所有符合条件的对象元素。//n//n如果要判断是否存在字段名///'abcdefg///'的对象元素,可以使用///'length///'函数来获取符合条件的对象元素的数量。以下是一个示例命令://n//nshell//necho //'{/'abc/': [{/'abcdefg/': ///'value1///'}, {/'xyz/': ///'value2///'}]}//' | jq //'.abc[] | select(has(/'abcdefg/')) | length > 0//'//n//n//n这个命令的输出将是布尔值///'true///'或///'false///',表示是否存在字段名///'abcdefg///'的对象元素。如果存在至少一个符合条件的对象元素,输出将是///'true///';否则,输出将是///'false///
原文地址: https://www.cveoy.top/t/topic/qfy9 著作权归作者所有。请勿转载和采集!