【发布时间】:2021-06-10 03:03:05
【问题描述】:
我正在尝试让 jq 解析 JSON 结构,例如:
{
"a" : 1,
"b" : 2,
"c" : "{\"id\":\"9ee ...\",\"parent\":\"abc...\"}\n"
}
即JSON中的一个元素是一个带有转义json的字符串。
所以,我有一些类似的东西
$ jq [.c] myFile.json | jq [.id]
但是 jq: error: Cannot index string with string 会崩溃
这是因为 .c 的输出是一个字符串,而不是更多的 JSON。 如何让 jq 解析这个字符串?
我最初的解决方案是使用 sed 替换所有转义字符(\":\"、\",\" 和 \")但这很麻烦,我认为 jq 中内置了一种方法可以做到这一点?
谢谢!
编辑: 此外,这里可用的 jq 版本是:
$ jq --version
jq version 1.3
如果需要,我想我可以更新它。
【问题讨论】:
-
如果您正在寻找这个问题也有帮助:“How to unescape json string using jq?”
标签: json string sed escaping jq