我有一个带有\的键,但是在使用jq时似乎无法访问它。感谢任何帮助。
$ cat /tmp/yo
{
"kubectl.kubernetes.io\last-applied-configuration": "test"
}
$ cat /tmp/yo | jq .["kubectl.kubernetes.io\last-applied-configuration"]
parse error: Invalid escape at line 2, column 52
这不是一个有效的JSON文档。 JSON中的反斜杠必须被转义以包含在字面字符串中。请向生成此无效内容的任何工具报告错误。
{
"kubectl.kubernetes.io\\last-applied-configuration": "test"
}
jq '.["kubectl.kubernetes.io\\last-applied-configuration"]' </tmp/yo
"
被 shell 吞掉了,而不是传递给jq
。 - Charles Duffyjq
还是任何其他兼容的解析器都无法读取它 - 我很好奇,您首先是如何生成它的。 - Charles DuffyValueError: Invalid \escape: line 2 column 25 (char 26)
。 - Charles Duffykubectl.kubernetes.iolast-applied-configuration
。有一个理由让明智的人(即Windows世界之外的所有人)使用正斜杠作为分隔符。 - Charles Duffy