最佳答案
我有一个 json 文件,它在一个对象中包含一个 json 字符串:
{
"requestType": "POST",
"response": {
"size": 78,
"text": "{\"recordID\":123, \"title\":\"Hello World\", \"content\":\"Lorem ipsum...\"}"
}
}
我需要使用 json 命令行互操作程序 JQ将 .response.text
字符串的内容作为 json 进行互操作。
当我运行这个命令时:
jq '.response.text | @json'
输出: "\"{\\\"recordID\\\":123, \\\"title\\\":\\\"Hello World\\\", \\\"content\\\":\\\"Lorem ipsum...\\\"}\""
我得到一些奇怪的逃逸 json 字符串,而不是 json,我可以通过这样的东西访问: .response.text | @json | .recordID
。
我意识到 @json
函数将使用 json 并输出一个 json 转义字符串,所以肯定还有其他方法,但是 @text
似乎什么都不做。
是否有某种方法可以将转义 json 的字符串转换为实际的 json,我可以使用以下命令解析它: jq '.response.text | @json | .title'
并得到输出: "Hello World"
?