【问题标题】:Construct JSON with a variable key using jq使用 jq 构造带有可变键的 JSON
【发布时间】:2016-03-07 10:26:46
【问题描述】:

我正在尝试使用jq 构造一个哈希,其中键名来自一个变量。像这样的:

jq --null-input --arg key foobar '{$key: "value"}'

但是,这不起作用,并给出以下错误:

error: syntax error, unexpected '$'
{$key: "value"} 1 compile error

【问题讨论】:

    标签: json jq


    【解决方案1】:

    使用括号来评估$key,如:

     jq --null-input --arg key foobar '{($key): "value"}'
    

    另请参阅:Parentheses in JQ for .key

    【讨论】:

      【解决方案2】:

      您也可以在jq 中使用String interpolation,其格式为"\(..)"。在字符串内部,您可以在反斜杠后的括号内放置表达式。无论表达式返回什么,都将被插入到字符串中。

      你可以在下面做。变量key的内容被插值序列扩展并作为字符串返回。

      jq --null-input --arg key foobar '{ "\($key)": "value"}'
      

      【讨论】:

        猜你喜欢
        • 2021-02-13
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-11
        • 2021-10-15
        • 2019-05-07
        相关资源
        最近更新 更多