Bash JQ在JSON文件中获取多个值问题
发布时间:2020-12-15 21:02:25 所属栏目:安全 来源:网络整理
导读:我正在尝试解析 JSON文件以获取多个值.我知道如何解析数组中的特定值(“A”/“B”/“C”)(.info.file.hashes []). 例如:在b.json文件上发出以下命令时 jq -r '.info.file.hashes[] | select(.name == ("A","B","C")).value' b.json 结果: f34d5f2d4577ed6d
我正在尝试解析
JSON文件以获取多个值.我知道如何解析数组中的特定值(“A”/“B”/“C”)(.info.file.hashes []).
例如:在b.json文件上发出以下命令时 jq -r '.info.file.hashes[] | select(.name == ("A","B","C")).value' b.json 结果: f34d5f2d4577ed6d9ceec516c1f5a744 66031dad95dfe6ad10b35f06c4342faa 9df25fa4e379837e42aaf6d05d92012018d4b659 哪里有b.json: { "Finish": 1475668827,"Start": 1475668826,"info": { "file": { "Score": 4,"file_subtype": "None","file_type": "Image","hashes": [ { "name": "A","value": "f34d5f2d4577ed6d9ceec516c1f5a744" },{ "name": "B","value": "66031dad95dfe6ad10b35f06c4342faa" },{ "name": "C","value": "9df25fa4e379837e42aaf6d05d92012018d4b659" },{ "name": "D","value": "4a51cc531082d216a3cf292f4c39869b462bf6aa" },{ "name": "E","value": "e445f412f92b25f3343d5f7adc3c94bdc950601521d5b91e7ce77c21a18259c9" } ],"size": 500 } } } 现在,我如何通过“完成”,“开始”以及哈希值获得多个值?我试过发出命令. jq -r '.info.file.hashes[] | select(.name == ("A","C")).value','.Finish','.Start' b.json 我得到的结果如下: f34d5f2d4577ed6d9ceec516c1f5a744 null 66031dad95dfe6ad10b35f06c4342faa null 9df25fa4e379837e42aaf6d05d92012018d4b659 null null null 预期结果 : f34d5f2d4577ed6d9ceec516c1f5a744 66031dad95dfe6ad10b35f06c4342faa 9df25fa4e379837e42aaf6d05d92012018d4b659 1475668827 1475668826 解决方法
字面上只是下载并阅读手册
尝试 jq '(.info.file.hashes[] |select(.name == ("A","C")).value),.Finish,.Start' b.json "f34d5f2d4577ed6d9ceec516c1f5a744" "66031dad95dfe6ad10b35f06c4342faa" "9df25fa4e379837e42aaf6d05d92012018d4b659" 1475668827 1475668826 请注意用于将管道与“完成”和“开始”值分开分组的括号. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |