jq嵌套键中的特殊字符

时间:2018-01-25 19:31:17

标签: syntax key jq abbreviation

我有一个类似于以下内容的json:

{
    "_source" : {
        "index-pattern" : {
            "fields" : ""
        }
    }
}

我试图修改字段,但链接了。身份运营商,例如'jq ._source.["index-pattern"].fields'产生以下错误:

'._source.["index-pattern"]
         ^
1 compile error'

有什么想法吗?

感谢

1 个答案:

答案 0 :(得分:0)

你可以写:

._source | .["index-pattern"].fields

说明:如果" x"和" y"是以字母字符开头的字母数字字符串(其中"字母"包括" _")然后.x | .y可缩写为.x.y

E | F可以缩写时还有其他几种情况,例如E | .[]通常可缩写为E[]。一般规则是:

  

如果缩写形式不起作用,请不要使用它。