使用 jq 变量创建嵌套的 json 输出文件

creating a nested json output file using jq variables using

我正在尝试通过 shellscript 创建一个 json 文件,有人提到了 jq,但我正在努力让它工作: 期望输出为:

inboundurls{
  "op": "add",
  "path": "/support",
  "apiSupports": [
    {
      "familyType": "EXAMPLE",
      "healthCheckUris": "http://example.com"
    }
  ],
  "inboundurls": [
    {
      "healthCheckUris": "http://example.com"
    }
  ]
}

研究我找到了一个起点,但它不能正常工作,我需要一些帮助,这是我所拥有的:

脚本:

#!/bin/bash
apiSupports=$(jq -n --arg familyType EXAMPLE \
              --arg healthCheckUris http://example.com \
              '$ARGS.named'
)

final=$(jq -n --arg op "add" \
              --arg path "/supportServices" \
              --argjson apiSupports "[$apiSupports]" \
              '$ARGS.named'
)
echo "$final"

上面脚本的输出:

{
  "op": "add",
  "path": "/supportServices",
  "apiSupports": [
    {
      "familyType": "EXAMPLE",
      "healthCheckUris": "http://example.com"
    }
  ]
}

如果有人能帮助我,我会很高兴,甚至提出想法,提前谢谢你?

以下内容生成显示为所需输出的有效 JSON 组成部分:

jq -n --arg op "add" \
   --arg path "/support" \
   --arg familyType EXAMPLE \
   --arg healthCheckUris http://example.com '
   {$op, $path, 
    apiSupports: [ {$familyType, $healthCheckUris }],
    inboundurls: [ {$healthCheckUris }]
 }
'