我有时需要编写包含字符串值的 JSON 字符串,该字符串本身就是一个 JSON 字符串。例如在以下 JSON 对象中:
echo '{"rec" : " {\"id\": 1, \"name\": \"x\"}" }' | jq .
{
"rec": " {\"id\": 1, \"name\": \"x\"}"
}
处的值"rec"
是字符串形式的json {\"id\": 1, \"name\": \"x\"}"
。
编写这种转义的 json 字符串非常繁琐,因为需要将每个双引号转义"
为\"
。
我的问题是:
给定内容{ "id": 1, "name": "x"}
,是否有一种使用 bash/jq 的自动方法可以正确地转义引号并获取可用作 JSON 字符串值的引号形式 "{\"id\": 1, \"name\": \"x\"}"
?