代码之家  ›  专栏  ›  技术社区  ›  Simon Ernesto Cardenas Zarate

bash中的jq到diff json

  •  3
  • Simon Ernesto Cardenas Zarate  · 技术社区  · 7 年前

    我有两个来自restapi的json对象。我想比较一下它们是不是同一个物体。 目标A:

    {
      "type": {
        "S": "equal"
      },
      "preFilter": {
        "BOOL": true
      }
    }
    

    目标B:

    {
      "preFilter": {
        "BOOL": true
      },
      "type": {
        "S": "equal"
      }
    }
    

    here: 但我想知道是否有可能在运行中使用jq来比较变量。

    我一直在努力改变

    --argfile a a.json
    

    对于

    --arg a $a
    

    (作为一个json字符串)没有运气。知道怎么处理字符串而不是文件吗?

    1 回复  |  直到 7 年前
        1
  •  3
  •   peak    7 年前

    使用 --argjson 命令行选项,例如。

    jq -n --argjson a "$a" --argjson b "$b" '$a == $b'
    

    当然还有其他选择,例如使用 jq -s ...