json - jq 在 bash 中区分 json
问题描述
我有 2 个来自 rest api 的 json 对象。我想比较它们是否是同一个对象。对象A:
{
"type": {
"S": "equal"
},
"preFilter": {
"BOOL": true
}
}
对象B:
{
"preFilter": {
"BOOL": true
},
"type": {
"S": "equal"
}
}
它们是相同的,但 md5sum 会将它们视为不同的。我尝试将它们插入到 2 个不同的文件中,并使用 此处提出的内容来比较文件:但我想知道是否可以动态使用 jq 来比较变量。
我一直在努力改变
--argfile a a.json
为了
--arg a $a
(作为 $aa json 字符串)没有运气。知道如何处理字符串而不是文件吗?
解决方案
--argjson
使用命令行选项可能是最简单的,例如
jq -n --argjson a "$a" --argjson b "$b" '$a == $b'
当然还有其他选择,例如使用jq -s
...
推荐阅读
- python - 如何调试 Flask API
- python - Python将迭代输出数据转换成表格并保存
- java - 使用 XYPlot 时如何解决问题“二进制 XML 文件行 #8:二进制 XML 文件行 #8:膨胀类 com.androidplot.xy.XYPlot 时出错”
- excel - 如何填写此功能?
- qt - QML 标头 ID 不可用属性
- java - Spock Power Mock 不返回 .thenAnswer { } 方法中指定的值
- php - 使用“计费公司名称”作为在 Wordpress 中公开显示的名称
- php - 我可以使用 PHP 获得一个带有一个 SQL 选择的单个数组吗
- javascript - 使用nativeElement.click触发两次角度点击?
- oracle - 如何通过 SQL Developer 将示例模式导入 docker 容器中的 oracle 数据库?